首先,你应该使用
Get-Credential
相反,它更简单,而且可以做同样的工作:
$credential = Get-Credential -Message "Please Enter Your domain username, eg. user1@contoso.com"
两种方法都创建了
PsCredential
对象,存储在其中的引用
$credential
. 密码作为
SecureString
,以帮助保护它的安全,而不是写入磁盘、注册表等,除非您不遗余力地这样做:
PS C:\> $credential
UserName Password
-------- --------
domain\user System.Security.SecureString
所以,它是安全的,从偶然的尝试阅读。但是,它并不完全安全:
PS C:\> $credential.GetNetworkCredential() | Format-List *
UserName : user
Password : Password123
SecurePassword : System.Security.SecureString
Domain : domain