假设我的脚本如下:
param([string]$password)
Write-Host $password
如果我以这种方式启动它,这将返回:
.\myDollarParam.ps1 -Password Pa$sword
Pa
我想要以下输出:
Pa$sword
除了在参数中使用 ` 或 \ 之外,还有其他方法吗?
谢谢。
假设我的脚本如下:
param([string]$password)
Write-Host $password
如果我以这种方式启动它,这将返回:
.\myDollarParam.ps1 -Password Pa$sword
Pa
我想要以下输出:
Pa$sword
除了在参数中使用 ` 或 \ 之外,还有其他方法吗?
谢谢。
最简单的方法是将其括在单引号中。例如:
.\myDollarParam.ps1 -Password 'Pa$sword'
否则 PowerShell 将“$”解释为变量的开头,因此您在示例中基本上所说的是为变量分配值“Pa”,然后将值存储在变量“$sword”中
A 证明这个理论运行以下给了我有趣的结果:
$sword = "Stuff"
.\myDollarParam.ps1 -Password Pa$sword
PaStuff
通过用单引号括起来,您是说在此字符串中传递文字字符。
执行密码的“正确”方法是使用 ConvertTo-SecureString cmdlt。