是否可以在 Powershell 中隐藏读取主机的用户输入?

Is it possible to hide the user input from read-host in Powershell?

我正在寻找一种方法来隐藏 Read-Host cmdlet 中的用户输入。

我知道我可以使用 -assecurestring 来做到这一点,但我想在我的变量中将输入保存为纯文本。

有没有办法做到这一点?

您必须使用 -AsSecureString 开关,但您也可以检索明文值:

$securedValue = Read-Host -AsSecureString
$bstr = [System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($securedValue)
$value = [System.Runtime.InteropServices.Marshal]::PtrToStringAuto($bstr)