PowerShell: the use of $ and other special characters in the password

Consideration must be given when passing passwords that contain special characters through PowerShell to ensure they are handled as literal strings.

For example, if the password contains a dollar sign ($) it must either be preceded by a grave accent ` (also known as a backtick: ASCII code 96 - Alt+96) or the password encapsulated in single ' ' to pass the password to PowerShell exactly as entered.

Password Example

String

Result

pas$word

pas

pas`$word

pas$word

'pas$word'

pas$word

Where the password contains a special character (in this example dollar sign) but no preceding grave accent, or is not encapsulated in single quotes, the message Failed to connect Credentials invalid is returned.

Some PowerShell special characters are themselves constructed using a grave accent so should be encapsulated in single quotes when passed via the Script and these are covered in Microsoft Technet: about_Special_Characters (External)

The vertical bar | is a system reserved character and not supported for use in passwords. Using this character in a password, even when encapsulated, will result in an "Invalid Command Line" error message for the script.

What do you want to do?

Please be aware that we are not responsible for the content of external sites.