我正在尝试将SecureString作为纯文本参数添加到命令行PowerShell。
我知道安全字符串的形式是什么。 例如,字符串“ abc”将是“ 71289371289”的安全字符串。
然后,我想将“ 71289371289”作为参数传递给脚本(从命令行运行),这将是我的安全字符串,然后将其解密为明文,以将其传递给我正在调用的另一个程序来自Powershell。
我该怎么做?
更新:
我最终使用带有PSCredential的Credfile在重新启动后保留凭据,直到脚本完成。
答案 0 :(得分:0)
您可以使用SecureStringToBSTR将其转换回明文密码:
Param(
$securestring = (Read-Host -AsSecureString)
)
Write-Host "Encrypted Password: $(ConvertFrom-SecureString $securestring)"
$ClearText = [Runtime.InteropServices.Marshal]::PtrToStringAuto([Runtime.InteropServices.Marshal]::SecureStringToBSTR($securestring))
Write-Host "Original Password: $ClearText"