假设我的脚本如下:
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。
关于windows - Powershell 和美元符号参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17195668/