Windows Powershell和美元登录参数
假设我的脚本如下所示:Windows Powershell和美元登录参数,windows,powershell,Windows,Powershell,假设我的脚本如下所示: param([string]$password) Write-Host $password 如果我以这种方式启动它,它将返回: .\myDollarParam.ps1 -Password Pa$sword Pa 我想要以下输出: Pa$sword 除了在参数中使用`或\之外,还有其他方法可以做到这一点吗 谢谢。简单的方法是用单引号括起来。例如: .\myDollarParam.ps1 -Password 'Pa$sword' 否则,PowerShell会将“$
param([string]$password)
Write-Host $password
如果我以这种方式启动它,它将返回:
.\myDollarParam.ps1 -Password Pa$sword
Pa
我想要以下输出:
Pa$sword
除了在参数中使用`或\之外,还有其他方法可以做到这一点吗
谢谢。简单的方法是用单引号括起来。例如:
.\myDollarParam.ps1 -Password 'Pa$sword'
否则,PowerShell会将“$”解释为变量的开头,因此您在示例中的基本意思是为变量分配值“Pa”,然后分配存储在变量“$swool”中的值
为了证明这一理论,运行下面的程序给了我一个有趣的结果:
$sword = "Stuff"
.\myDollarParam.ps1 -Password Pa$sword
PaStuff
用单引号括起来,表示传递该字符串中的文字字符
执行密码的“正确”方法是使用ConvertTo-SecureString cmdlt。非常感谢,我如何从中获得:
$password=ConvertTo-SecureString$password-asplaintext-force
?当我打印$passwordSystem.Security.SecureString
@hello时,我得到了这个信息。这是一个完全不同的问题。发布一个新问题,你会得到一个又好又快的答案。从安全字符串转换回文本并不容易。下面是一个链接,指向执行此操作的函数的代码: