我正在寻找一个以SecureString
存储的用户输入的密码是否为空。
当前,我正在检查长度(即if ($password.Length -eq 0) { # prompt again }
),这似乎可行。如果那是“正确”的方法,那就太好了。否则我想知道该怎么做。
我是PowerShell的新手,因此非常感谢任何指导。提前谢谢。
答案 0 :(得分:2)
您可以通过将密码转换为PsCredential
对象来访问密码以检查内容。
创建一个SecureString(仅用于此演示-听起来您已经有了):
$securePassword = ConvertTo-SecureString "TopSecretPassword" -AsPlainText -Force
转换为PsCredential
对象(与username
的值无关):
$creds = New-Object System.Management.Automation.PSCredential("username", $securePassword)
找回密码:
$cleartextPassword = $creds.GetNetworkCredential().Password
检查是否为空:
if ([string]::IsNullOrWhiteSpace($cleartextPassword))
{
# prompt again
}