Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows Powershell和美元登录参数_Windows_Powershell - Fatal编程技术网

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
?当我打印$password
System.Security.SecureString
@hello时,我得到了这个信息。这是一个完全不同的问题。发布一个新问题,你会得到一个又好又快的答案。从安全字符串转换回文本并不容易。下面是一个链接,指向执行此操作的函数的代码: