Encrypt Password and use it in Powershell Script

Hi Readers,

Today I am sharing a way to encrypt the password & using it in powershell scripts.

I have used this way a few times now.

Attaching the code in below link  & example on how to use it..


extract the zip file –> just run the batch file after that..

Enter the password that you want to encrypt.


encrypted password will be exported to securepassword.txt file.



Note:- Please encrypt the password on the same machine from where you will be running the script in which you will be using the password.


 Shell Code:-

$password = read-host -prompt “Enter your Password”
write-host “$password is password”
$secure = ConvertTo-SecureString $password -force -asPlainText
$bytes = ConvertFrom-SecureString $secure
$bytes | out-file .\securepassword.txt

How to use it Code:-

$encrypted = “01000000d08c9ddf0115d1118c7a00c04fc297eb010000002”

$user = “lab\vikass”

$password = ConvertTo-SecureString -string $encrypted

$cred = new-object -typename System.Management.Automation.PSCredential -argumentlist $user,$password


Sukhija Vikas


7 thoughts on “Encrypt Password and use it in Powershell Script

  1. Hello
    How can we modify this to use a secure key to encrypt the password with and decrypt it on a different machine with the same secure key?

  2. Hello,

    Script 1

    $File = “C:\Users\raj\Desktop\encryptpass\Password.txt”
    [Byte[]] $key = (1..16)
    $Password = “Password” | ConvertTo-SecureString -AsPlainText -Force
    $Password | ConvertFrom-SecureString -key $key | Out-File $File

    Script 2
    $user = “Raj”
    [Byte[]] $key = (1..16)
    $password=$encrypted | Convertto-SecureString -Key $key
    $group = “Administrators”
    NET USER $User $password /add /y
    NET LOCALGROUP $group $User /add
    WMIC USERACCOUNT WHERE “Name=’$User'” SET PasswordExpires=FALSE

    Script 2 is executing on a remote machine and adding the user but unable to login. Is there anything that i missed?

  3. Hi Vikas,

    I am using this below script for checking/login into multiple servers.

    servers=Get-Content “D:\ServersList.txt”
    foreach($server in $servers){
    cmdkey /generic:$server /user:”Domain\UserName” /pass:”Password”
    mstsc /v: $server
    #to bypass the security alerts or certificate errors that has to be done manually
    sleep 5
    cmdkey /delete:$server

    now I want to use the method which you have explained above, I am not into much scripting so I am getting hard time to understand the same.

    can you please help?

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s