PowerShell 技能连载 - 将安全字符串转换为明文
安全字符串的内容并不能很轻易地查看:
1 | $password = Read-Host -Prompt 'Your password' -AsSecureString |
然而,如果您是第一个要求安全字符串的人,您可以用这个聪明的技巧轻松地将它转换为纯文本:
1 | $txt = [PSCredential]::new("X", $Password).GetNetworkCredential().Password |
本质上,SecureString
是用来创建一个 PSCredential
对象,并且一个 PSCredential
对象包含了 GetNetworkCredential()
方法,它能够自动地将加密的密码转换为明文。
通过这种方式,您可以使用 Red-Hsot -AsSecureString
提供的遮罩输入框来输入敏感信息,即便您需要该信息的明文字符串:
1 | function Read-HostSecret([Parameter(Mandatory)]$Prompt) |