Powershell和美元签到参数

时间:2013-06-19 15:47:48

标签: windows powershell

我们假设我的脚本如下:

param([string]$password)
Write-Host $password

如果我以这种方式启动它将会返回:

.\myDollarParam.ps1 -Password Pa$sword
 Pa

我想要以下输出:

 Pa$sword

有没有办法在参数中使用`或\来做到这一点?

感谢。

1 个答案:

答案 0 :(得分:10)

简单的方法是将其用单引号括起来。例如:

.\myDollarParam.ps1 -Password 'Pa$sword'

否则PowerShell会将“$”解释为变量的开头,因此您在示例中基本上说的是将变量赋值为“Pa”,然后将值存储在变量“$ sword”中

A证明这个理论运行以下给我带来了有趣的结果:

$sword = "Stuff"
.\myDollarParam.ps1 -Password Pa$sword
PaStuff

用单引号括起来,就是说要传递这个字符串中的文字字符。

执行密码的“正确”方法是使用ConvertTo-SecureString cmdlt。