访问明文密码
凭证对象中的密码是加密的 [SecureString]
。最简单的方法是获取一个不存储加密密码的 [NetworkCredential]
:
$credential = Get-Credential
$plainPass = $credential.GetNetworkCredential().Password
辅助方法(.GetNetworkCredential()
)仅存在于 [PSCredential]
对象上。
要直接处理 [SecureString]
,请使用 .NET 方法:
$bstr = [System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($secStr)
$plainPass = [System.Runtime.InteropServices.Marshal]::PtrToStringAuto($bstr)