{"componentChunkName":"component---src-templates-articles-index-jsx","path":"/articles/securely-manage-passwords-powershell-scripts/","result":{"data":{"props":{"adsense":true,"adsenseMobile":null,"byLine":null,"canonical":"https://staging.business.com/articles/securely-manage-passwords-powershell-scripts/","content":"\n<p>It's important not to hardcode plain-text passwords anywhere, let alone in the code you're writing. This isn't a great idea. We need to use passwords often in PowerShell scripts, so how do we make it happen? Encryption.</p>\r\n<p>You don't have to be a cryptographer to use encryption with PowerShell. You merely need to understand <i>how</i> to encrypt and decrypt strings with PowerShell, and this article is here to help!</p>\r\n<p>The word \"encryption\" is a big topic. We're going to cover a few ways to encrypt and decrypt strings in PowerShell. These strings will be passwords, and we'll go over how to store these encrypted passwords on disk so they can be reused in other scripts, if necessary.</p>\r\n<h2>Creating a Certificate</h2>\r\n<p>The first step we'll do is to create a certificate. For our purposes, we'll produce a self-signed certificate. You could also use a certificate issued by a certificate authority, but since I don't have one of those in my environment, nor do I want to pay for a public one, I'll create one on my own. To do that, I can use the New-SelfSignedCertificate command.</p>\r\n<p>Since we'll be encrypting passwords, we'll create a cert using Document Encryption in my user's personal certificate store:<br><picture class=\"aligncenter med\"><source srcset=\"/images/content/5c9/3a7da5a215e5b3a8b456e/742_-507- 742w, /images/content/5c9/3a7da5a215e5b3a8b456e/412_-281- 412w, /images/content/5c9/3a7da5a215e5b3a8b456e/206_-140- 206w\" sizes=\"(min-width: 870px) 412px, (min-width: 400px) 38vw, 62%\"></source><img src=\"/images/content/5c9/3a7da5a215e5b3a8b456e/600-410-\" alt=\"\" width=\"600\" height=\"410\" data-content-img-id=\"5c93a7da5a215e5b3a8b456e\"></picture></p>\r\n<p>Once I have the certificate created, I can now use it to encrypt data a few different ways.</p>\r\n<h2>Encrypting with CMS</h2>\r\n<p>Using the Protect-CmsMessage PowerShell cmdlet, I can simply pass any string I'd like to it using the To parameter indicating a certificate to encrypt it with using the subject. Below, I'm encrypting the string Text to Encrypt using the certificate I just created:</p>\r\n<p><picture class=\"aligncenter med\"><source srcset=\"/images/content/5c9/3a8795a215e84728b456d/742_-463- 742w, /images/content/5c9/3a8795a215e84728b456d/412_-257- 412w, /images/content/5c9/3a8795a215e84728b456d/206_-128- 206w\" sizes=\"(min-width: 870px) 412px, (min-width: 400px) 38vw, 62%\"></source><img src=\"/images/content/5c9/3a8795a215e84728b456d/700-437-\" alt=\"\" width=\"700\" height=\"437\" data-content-img-id=\"5c93a8795a215e84728b456d\"></picture></p>\r\n<p>Once created, I can then view some useful information about this CMS message using Get-CmsMessage:</p>\r\n<p><picture class=\"aligncenter med\"><source srcset=\"/images/content/5c9/3a9809c658a7a078b4598/742_-1027- 742w, /images/content/5c9/3a9809c658a7a078b4598/412_-570- 412w, /images/content/5c9/3a9809c658a7a078b4598/206_-285- 206w\" sizes=\"(min-width: 870px) 412px, (min-width: 400px) 38vw, 62%\"></source><img src=\"/images/content/5c9/3a9809c658a7a078b4598/700-969-\" alt=\"\" width=\"700\" height=\"969\" data-content-img-id=\"5c93a9809c658a7a078b4598\"></picture></p>\r\n<p>Once I need to decrypt the string, I then use Unprotect-CmsMessage to see what the original string was:</p>\r\n<p><picture class=\"aligncenter med\"><source srcset=\"/images/content/5c9/3a9ea7b4374035b8b45b8/742_-61- 742w, /images/content/5c9/3a9ea7b4374035b8b45b8/412_-34- 412w, /images/content/5c9/3a9ea7b4374035b8b45b8/206_-17- 206w\" sizes=\"(min-width: 870px) 412px, (min-width: 400px) 38vw, 62%\"></source><img src=\"/images/content/5c9/3a9ea7b4374035b8b45b8/700-58-\" alt=\"\" width=\"700\" height=\"58\" data-content-img-id=\"5c93a9ea7b4374035b8b45b8\"></picture></p>\r\n<p class=\"FirstParagraph\">We can easily add this encrypted string to a file and then decrypt it back, too:</p>\r\n<p class=\"FirstParagraph\"><picture class=\"aligncenter med\"><source srcset=\"/images/content/5c9/3aa3f9c658a8e238b457b/742_-106- 742w, /images/content/5c9/3aa3f9c658a8e238b457b/412_-58- 412w, /images/content/5c9/3aa3f9c658a8e238b457b/206_-29- 206w\" sizes=\"(min-width: 870px) 412px, (min-width: 400px) 38vw, 62%\"></source><img src=\"/images/content/5c9/3aa3f9c658a8e238b457b/700-100-\" alt=\"\" width=\"700\" height=\"100\" data-content-img-id=\"5c93aa3f9c658a8e238b457b\"></picture></p>\r\n<h2>Using Import/Export CLIXML</h2>\r\n<p>PowerShell has an object type called PSCredential and is used in many different contexts when scripting. For example, run Get-Credential where you'll be prompted for a username and password. This type of object is more complicated than a simple string, but using the Import and Export-CliXml commands, we can easily store this type of object to disk encrypting the password.</p>\r\n<p>For example, I can call Get-Credential, provide my username and password then save that credential to disk using Export-CliXml as shown below.</p>\r\n<p><picture class=\"aligncenter med\"><source srcset=\"/images/content/5c9/3aa855a215e86728b457f/742_-61- 742w, /images/content/5c9/3aa855a215e86728b457f/412_-34- 412w, /images/content/5c9/3aa855a215e86728b457f/206_-17- 206w\" sizes=\"(min-width: 870px) 412px, (min-width: 400px) 38vw, 62%\"></source><img src=\"/images/content/5c9/3aa855a215e86728b457f/700-58-\" alt=\"\" width=\"700\" height=\"58\" data-content-img-id=\"5c93aa855a215e86728b457f\"></picture></p>\r\n<p>Once the credential is saved to disk, I then can reference that file across any script I choose using the Import-CliXml command. This command natively decrypts the password that was encrypted in the file:</p>\r\n<p><picture class=\"aligncenter med\"><source srcset=\"/images/content/5c9/3aad59c658a313c8b457b/742_-149- 742w, /images/content/5c9/3aad59c658a313c8b457b/412_-83- 412w, /images/content/5c9/3aad59c658a313c8b457b/206_-41- 206w\" sizes=\"(min-width: 870px) 412px, (min-width: 400px) 38vw, 62%\"></source><img src=\"/images/content/5c9/3aad59c658a313c8b457b/1000-202-\" alt=\"\" width=\"1000\" height=\"202\" data-content-img-id=\"5c93aad59c658a313c8b457b\"></picture></p>\r\n<p>At this point, you can either use the whole credential object on a Credential command parameter, or if you just need the password, call the GetNetworkCredential() method referencing the Password property to return only the password.</p>\r\n<p><picture class=\"aligncenter med\"><source srcset=\"/images/content/5c9/3ab309c658a5c7e8b457b/742_-60- 742w, /images/content/5c9/3ab309c658a5c7e8b457b/412_-33- 412w, /images/content/5c9/3ab309c658a5c7e8b457b/206_-16- 206w\" sizes=\"(min-width: 870px) 412px, (min-width: 400px) 38vw, 62%\"></source><img src=\"/images/content/5c9/3ab309c658a5c7e8b457b/1000-82-\" alt=\"\" width=\"1000\" height=\"82\" data-content-img-id=\"5c93ab309c658a5c7e8b457b\"></picture></p>\r\n<h2>Bottom Line</h2>\r\n<p class=\"FirstParagraph\">Now that you know of a couple of ways to encrypt and decrypt passwords, you should have no excuse to manage plain-text passwords again. Managing passwords securely takes a little bit more time and dramatically decreases the chances of nefarious individuals getting ahold of your passwords and using them for all the wrong purposes.</p>\n","docType":"article","guid":"articles_04badf79a3003f46c07ded9665a5cf4c","lastModified":"2019-03-25T16:00:00.000Z","published":"2019-03-25T16:00:00.000Z","structuredData":null,"subtitle":"You don't have to be a cryptographer to use encryption with PowerShell.","template":"legacy","title":"How to Securely Manage Passwords in PowerShell Scripts","type":"article","author":{"avatar":null,"bio":"Adam Bertram is a 20-year veteran of IT and experienced online business professional. He's an entrepreneur, IT influencer, Microsoft MVP, blogger, trainer and content marketing writer for multiple technology companies. Adam is also the founder of the popular IT career development platform TechSnips. Catch up on Adam's articles at adamtheautomator.com, connect on LinkedIn, or follow him on Twitter at @adbertram or the TechSnips Twitter account at @techsnips_io.","name":"Adam Bertram","image":null,"slug":null,"social":{"facebook":"","linkedin":"https://www.linkedin.com/in/adambertram/","twitter":"https://twitter.com/adbertram","website":"https://www.adamtheautomator.com/"},"status":"enabled","title":null,"type":"Contributing Writer","user":{"imagePath":"https://staging.business.com/images/undefined","profile":{"company":"eGain Communications","jobTitle":"Product Management Analyst","website":""}}},"breadcrumbs":null,"channels":{"primary":{"name":"Technology","slug":"technology"},"sub":{"name":"Security","slug":"security"}},"meta":{"robots":"index, follow","description":"You need to understand how to encrypt and decrypt strings with PowerShell.","title":"Securely Manage Passwords in PowerShell Scripts - business.com"},"parsedContent":{"toc":[{"id":"creating-a-certificate","title":"Creating a Certificate"},{"id":"encrypting-with-cms","title":"Encrypting with CMS"},{"id":"using-import/export-clixml","title":"Using Import/Export CLIXML"},{"id":"bottom-line","title":"Bottom Line"}],"json":[{"component":"p","children":["It's important not to hardcode plain-text passwords anywhere, let alone in the code you're writing. This isn't a great idea. We need to use passwords often in PowerShell scripts, so how do we make it happen? Encryption."]},{"component":"p","children":["You don't have to be a cryptographer to use encryption with PowerShell. You merely need to understand ",{"component":"i","children":["how"]}," to encrypt and decrypt strings with PowerShell, and this article is here to help!"]},{"component":"p","children":["The word \"encryption\" is a big topic. We're going to cover a few ways to encrypt and decrypt strings in PowerShell. These strings will be passwords, and we'll go over how to store these encrypted passwords on disk so they can be reused in other scripts, if necessary."]},{"component":"h2","props":{"id":"creating-a-certificate"},"children":["Creating a Certificate"]},{"component":"p","children":["The first step we'll do is to create a certificate. For our purposes, we'll produce a self-signed certificate. You could also use a certificate issued by a certificate authority, but since I don't have one of those in my environment, nor do I want to pay for a public one, I'll create one on my own. To do that, I can use the New-SelfSignedCertificate command."]},{"component":"p","children":["Since we'll be encrypting passwords, we'll create a cert using Document Encryption in my user's personal certificate store:",{"component":"br"},{"component":"picture","props":{"className":"aligncenter med"},"children":[{"component":"source","props":{"srcSet":"/images/content/5c9/3a7da5a215e5b3a8b456e/742_-507- 742w, /images/content/5c9/3a7da5a215e5b3a8b456e/412_-281- 412w, /images/content/5c9/3a7da5a215e5b3a8b456e/206_-140- 206w","sizes":"(min-width: 870px) 412px, (min-width: 400px) 38vw, 62%"}},{"component":"img","props":{"src":"/images/content/5c9/3a7da5a215e5b3a8b456e/600-410-","alt":"","width":"600","height":"410","data-content-img-id":"5c93a7da5a215e5b3a8b456e"}}]}]},{"component":"p","children":["Once I have the certificate created, I can now use it to encrypt data a few different ways."]},{"component":"h2","props":{"id":"encrypting-with-cms"},"children":["Encrypting with CMS"]},{"component":"p","children":["Using the Protect-CmsMessage PowerShell cmdlet, I can simply pass any string I'd like to it using the To parameter indicating a certificate to encrypt it with using the subject. Below, I'm encrypting the string Text to Encrypt using the certificate I just created:"]},{"component":"p","children":[{"component":"picture","props":{"className":"aligncenter med"},"children":[{"component":"source","props":{"srcSet":"/images/content/5c9/3a8795a215e84728b456d/742_-463- 742w, /images/content/5c9/3a8795a215e84728b456d/412_-257- 412w, /images/content/5c9/3a8795a215e84728b456d/206_-128- 206w","sizes":"(min-width: 870px) 412px, (min-width: 400px) 38vw, 62%"}},{"component":"img","props":{"src":"/images/content/5c9/3a8795a215e84728b456d/700-437-","alt":"","width":"700","height":"437","data-content-img-id":"5c93a8795a215e84728b456d"}}]}]},{"component":"p","children":["Once created, I can then view some useful information about this CMS message using Get-CmsMessage:"]},{"component":"p","children":[{"component":"picture","props":{"className":"aligncenter med"},"children":[{"component":"source","props":{"srcSet":"/images/content/5c9/3a9809c658a7a078b4598/742_-1027- 742w, /images/content/5c9/3a9809c658a7a078b4598/412_-570- 412w, /images/content/5c9/3a9809c658a7a078b4598/206_-285- 206w","sizes":"(min-width: 870px) 412px, (min-width: 400px) 38vw, 62%"}},{"component":"img","props":{"src":"/images/content/5c9/3a9809c658a7a078b4598/700-969-","alt":"","width":"700","height":"969","data-content-img-id":"5c93a9809c658a7a078b4598"}}]}]},{"component":"p","children":["Once I need to decrypt the string, I then use Unprotect-CmsMessage to see what the original string was:"]},{"component":"p","children":[{"component":"picture","props":{"className":"aligncenter med"},"children":[{"component":"source","props":{"srcSet":"/images/content/5c9/3a9ea7b4374035b8b45b8/742_-61- 742w, /images/content/5c9/3a9ea7b4374035b8b45b8/412_-34- 412w, /images/content/5c9/3a9ea7b4374035b8b45b8/206_-17- 206w","sizes":"(min-width: 870px) 412px, (min-width: 400px) 38vw, 62%"}},{"component":"img","props":{"src":"/images/content/5c9/3a9ea7b4374035b8b45b8/700-58-","alt":"","width":"700","height":"58","data-content-img-id":"5c93a9ea7b4374035b8b45b8"}}]}]},{"component":"p","props":{"className":"FirstParagraph"},"children":["We can easily add this encrypted string to a file and then decrypt it back, too:"]},{"component":"p","props":{"className":"FirstParagraph"},"children":[{"component":"picture","props":{"className":"aligncenter med"},"children":[{"component":"source","props":{"srcSet":"/images/content/5c9/3aa3f9c658a8e238b457b/742_-106- 742w, /images/content/5c9/3aa3f9c658a8e238b457b/412_-58- 412w, /images/content/5c9/3aa3f9c658a8e238b457b/206_-29- 206w","sizes":"(min-width: 870px) 412px, (min-width: 400px) 38vw, 62%"}},{"component":"img","props":{"src":"/images/content/5c9/3aa3f9c658a8e238b457b/700-100-","alt":"","width":"700","height":"100","data-content-img-id":"5c93aa3f9c658a8e238b457b"}}]}]},{"component":"h2","props":{"id":"using-import/export-clixml"},"children":["Using Import/Export CLIXML"]},{"component":"p","children":["PowerShell has an object type called PSCredential and is used in many different contexts when scripting. For example, run Get-Credential where you'll be prompted for a username and password. This type of object is more complicated than a simple string, but using the Import and Export-CliXml commands, we can easily store this type of object to disk encrypting the password."]},{"component":"p","children":["For example, I can call Get-Credential, provide my username and password then save that credential to disk using Export-CliXml as shown below."]},{"component":"p","children":[{"component":"picture","props":{"className":"aligncenter med"},"children":[{"component":"source","props":{"srcSet":"/images/content/5c9/3aa855a215e86728b457f/742_-61- 742w, /images/content/5c9/3aa855a215e86728b457f/412_-34- 412w, /images/content/5c9/3aa855a215e86728b457f/206_-17- 206w","sizes":"(min-width: 870px) 412px, (min-width: 400px) 38vw, 62%"}},{"component":"img","props":{"src":"/images/content/5c9/3aa855a215e86728b457f/700-58-","alt":"","width":"700","height":"58","data-content-img-id":"5c93aa855a215e86728b457f"}}]}]},{"component":"p","children":["Once the credential is saved to disk, I then can reference that file across any script I choose using the Import-CliXml command. This command natively decrypts the password that was encrypted in the file:"]},{"component":"p","children":[{"component":"picture","props":{"className":"aligncenter med"},"children":[{"component":"source","props":{"srcSet":"/images/content/5c9/3aad59c658a313c8b457b/742_-149- 742w, /images/content/5c9/3aad59c658a313c8b457b/412_-83- 412w, /images/content/5c9/3aad59c658a313c8b457b/206_-41- 206w","sizes":"(min-width: 870px) 412px, (min-width: 400px) 38vw, 62%"}},{"component":"img","props":{"src":"/images/content/5c9/3aad59c658a313c8b457b/1000-202-","alt":"","width":"1000","height":"202","data-content-img-id":"5c93aad59c658a313c8b457b"}}]}]},{"component":"p","children":["At this point, you can either use the whole credential object on a Credential command parameter, or if you just need the password, call the GetNetworkCredential() method referencing the Password property to return only the password."]},{"component":"p","children":[{"component":"picture","props":{"className":"aligncenter med"},"children":[{"component":"source","props":{"srcSet":"/images/content/5c9/3ab309c658a5c7e8b457b/742_-60- 742w, /images/content/5c9/3ab309c658a5c7e8b457b/412_-33- 412w, /images/content/5c9/3ab309c658a5c7e8b457b/206_-16- 206w","sizes":"(min-width: 870px) 412px, (min-width: 400px) 38vw, 62%"}},{"component":"img","props":{"src":"/images/content/5c9/3ab309c658a5c7e8b457b/1000-82-","alt":"","width":"1000","height":"82","data-content-img-id":"5c93ab309c658a5c7e8b457b"}}]}]},{"component":"h2","props":{"id":"bottom-line"},"children":["Bottom Line"]},{"component":"p","props":{"className":"FirstParagraph"},"children":["Now that you know of a couple of ways to encrypt and decrypt passwords, you should have no excuse to manage plain-text passwords again. Managing passwords securely takes a little bit more time and dramatically decreases the chances of nefarious individuals getting ahold of your passwords and using them for all the wrong purposes."]}]},"resource":null,"sponsorship":null,"thumbnail":{"path":"https://staging.business.com/images/content/5c9/3a3995a215e86728b456a/1500-0-","caption":"NaMo Stock/Shutterstock","isBlurred":true},"bestPicks":null},"related":{"relatedArticles":[{"title":"PowerShell: Everything You Need to Know","canonical":"https://www.business.com/articles/powershell-everything-you-need-to-know/","slug":"powershell-everything-you-need-to-know","thumbnail":"https://www.business.com/images/content/5b8/998581039eb8f738b457b/1500-0-","dek":"What you need to know to unlock Microsoft PowerShell's full capabilities.","lastModified":"2018-09-05T17:00:00Z","published":"2018-09-05T17:00:00Z","sponsored":false},{"title":"8 Important Cybersecurity Measures for Small Businesses","canonical":"https://www.business.com/articles/cybersecurity-measures-for-small-businesses/","slug":"cybersecurity-measures-for-small-businesses","thumbnail":"https://www.business.com/images/content/5dc/867c77b43740d048b4567/1500-0-","dek":"Data theft is still a major headache though massive strides are being made to curb this menace. Security starts with you.","lastModified":"2019-11-11T14:00:00Z","published":"2019-11-11T14:00:00Z","sponsored":false},{"title":"VPN and Online Privacy: What You Need to Know Before Connecting","canonical":"https://www.business.com/articles/vpn-online-privacy-tips/","slug":"vpn-online-privacy-tips","thumbnail":"https://www.business.com/images/content/5b9/bb8861039eb757d8b45bd/1500-0-","dek":"Using a VPN connection makes your browsing extremely secure.","lastModified":"2018-09-14T14:26:00Z","published":"2018-09-14T14:26:00Z","sponsored":false},{"title":"How to Prevent Your Small Business From Falling Victim to Phishing Attacks","canonical":"https://www.business.com/articles/protect-your-smb-from-phishing-attacks/","slug":"protect-your-smb-from-phishing-attacks","thumbnail":"https://www.business.com/images/content/5d6/ee3775a215e373c8b456e/1500-0-","dek":"If you're not alert and proactive in protecting your business from cyberattacks, you'll fall prey to these scams, and the consequences are costly.","lastModified":"2019-09-05T17:00:00Z","published":"2019-09-05T17:00:00Z","sponsored":false},{"title":"How to Clean and Speed Up Your Laptop","canonical":"https://www.business.com/articles/clean-speed-up-laptop-tips/","slug":"clean-speed-up-laptop-tips","thumbnail":"https://www.business.com/images/content/5f2/c6def7b4374276d8b4567/1500-0-","dek":"Make your laptop run faster with these seven quick fixes.","lastModified":"2020-08-06T18:05:00Z","published":"2017-10-12T15:35:00Z","sponsored":false},{"title":"Which Microsoft 365 Platform Is Right for Your Business?","canonical":"https://www.business.com/articles/microsoft-office-products-plans-365-business/","slug":"microsoft-office-products-plans-365-business","thumbnail":"https://www.business.com/images/content/5a0/c4e821039eb0f6e8b458d/1500-0-","dek":"There are several plans with different features. Choose the one that's right for you.","lastModified":"2018-07-26T15:16:00Z","published":"2018-07-26T15:16:00Z","sponsored":false},{"title":"Use Cybersecurity As Your Competitive Advantage","canonical":"https://www.business.com/articles/use-cybersecurity-to-your-advantage/","slug":"use-cybersecurity-to-your-advantage","thumbnail":"https://www.business.com/images/content/5cb/0af7f5a215e21178b456d/1500-0-","dek":"Stay ahead of attackers, but also the competition.","lastModified":"2019-04-16T12:00:00Z","published":"2019-04-16T12:00:00Z","sponsored":false},{"title":"5 Tips to Protect Your WordPress Website From Hackers in 2019","canonical":"https://www.business.com/articles/protect-your-wordpress-website/","slug":"protect-your-wordpress-website","thumbnail":"https://www.business.com/images/content/5ca/e8aaf7b4374f33b8b456b/1500-0-","dek":"Here are five steps you can take to keep your WordPress website secure.","lastModified":"2019-04-12T17:00:00Z","published":"2019-04-12T17:00:00Z","sponsored":false},{"title":"3 Tech Challenges and Trends for Small Businesses to Watch in 2020","canonical":"https://www.business.com/articles/smb-it-challenges-and-trends/","slug":"smb-it-challenges-and-trends","thumbnail":"https://www.business.com/images/content/5de/826547b43748d498b4567/1500-0-","dek":"These challenges and trends related to small business IT are only going to continue and evolve in 2020. Here's how to prepare.","lastModified":"2019-12-05T21:00:00Z","published":"2019-12-05T21:00:00Z","sponsored":false},{"title":"Network Hardware & Assembly: LAN 102","canonical":"https://www.business.com/articles/local-area-network-hardware-assembly/","slug":"local-area-network-hardware-assembly","thumbnail":"https://www.business.com/images/content/5b1/a9a3551ee47a94d8b457a/1500-0-","dek":"Scott Mueller explains LAN hardware and assembly.","lastModified":"2018-07-11T14:46:00Z","published":"2018-07-11T14:46:00Z","sponsored":false},{"title":"Networking Basics: LAN 101","canonical":"https://www.business.com/articles/local-area-network-wi-fi-networking-basics/","slug":"local-area-network-wi-fi-networking-basics","thumbnail":"https://www.business.com/images/content/5b1/a9c8551ee47a74d8b4580/1500-0-","dek":"Learn about the glue that holds our networks together in this LAN primer.","lastModified":"2018-07-11T14:22:00Z","published":"2018-07-11T14:22:00Z","sponsored":false},{"title":"5 Ways to Incorporate Artificial Intelligence in Your Business for Exponential Growth","canonical":"https://www.business.com/articles/how-to-implement-ai-for-business-growth/","slug":"how-to-implement-ai-for-business-growth","thumbnail":"https://www.business.com/images/content/5e5/53ed47b4374a9458b4576/1500-0-","dek":"Artificial Intelligence isn’t set to happen in the future because the future is here! Learn how to use this in your business to skyrocket your business growth.","lastModified":"2020-02-25T18:38:00Z","published":"2020-02-25T18:38:00Z","sponsored":false}],"relatedReviews":[{"doc_type":"category","thumbnail":"https://staging.business.com/images/rz/5df908cc5a215e8c4a8b4568/conferencecall_Antonio_Diaz_Getty.jpg","canonical":"https://staging.business.com/categories/best-conference-call-services/","title":"The Best Conference Call Services of 2021","dek":"Which conference call service is right for your business in 2021? We review the top-rated services.","slug":"best-conference-call-services","lastModified":"2021-03-17T18:17:00Z"},{"doc_type":"category","thumbnail":"https://staging.business.com/images/rz/5e00d4787b43745d6a8b456e/Laptop_undrey_getty.jpg","canonical":"https://staging.business.com/categories/employee-monitoring-software/","title":"The Best Employee Monitoring Software of 2021","dek":"We've narrowed down the best employee monitoring software for businesses. Check out our best picks and reviews.","slug":"employee-monitoring-software","lastModified":"2021-03-05T15:40:00Z"},{"doc_type":"category","thumbnail":"https://staging.business.com/images/rz/5df905909c658a7e538b4567/Faxing_junce_Getty.jpg","canonical":"https://staging.business.com/categories/online-fax-services/","title":"The Best Online Fax Services of 2021","dek":"Online fax services are growing as more companies divest from conventional fax machines in favor of an automated, scalable and cost-effective option. Here's a look at some of the best online fax services on the market. ","slug":"online-fax-services","lastModified":"2021-03-02T16:07:00Z"}],"relatedSponsoredArticles":null}},"pageContext":{"displayModified":"2019-03-25T16:00:00.000Z","template":"legacy","title":"How to Securely Manage Passwords in PowerShell Scripts","meta":{"robots":"index, follow"},"docType":"articles","slug":"securely-manage-passwords-powershell-scripts","canonical":"https://staging.business.com/articles/securely-manage-passwords-powershell-scripts/","skipTOC":false}},"staticQueryHashes":[]}