我正在尝试从用户那里获取密码。
如果他只是不输入任何内容(仅按Enter键),则应该发出警告。
$NewUserPassword = Read-Host -assecurestring "Please enter New Run time user password"
$NewUserPassword=$NewUserPassword.Trim()
If ( ($NewUserPassword -eq $null) -or ($NewUserPassword -eq "") ){
Write-Warning "Please enter valid password. Script execution is stopped"
Exit
}
但是脚本抛出如下错误
Method invocation failed because [System.Security.SecureString] doesn't contain a method named 'Trim'.
但是,如果我删除trim()方法,该应用程序仍不会发出警告。
可能是什么原因?如何获得有效密码?
最佳答案
您不能直接检查SecureString实例的值,并且与String
实例进行比较无论如何都是徒劳的。但是,它具有Length
属性,可用于检查其是否为空:
$NewUserPassword = Read-Host -assecurestring "Please enter New Run time user password"
If ($NewUserPassword.Length -eq 0){
Write-Warning "Please enter valid password. Script execution is stopped"
Exit
}
关于powershell - 如何确保输入密码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11759852/