我有一个客户端vpn的密码,我需要从命令行重复输入。我不想将它存储在磁盘上,而是在我的powershell $ profile中查询它,将它存储在shell实例范围内的变量中,然后在其他脚本中重用它(这样它只存在于内存中)。
我可以使用Read-Host
来查询密码,但我更喜欢弹出对话框(Paegent已经弹出一个对话框,我已经习惯了alt + tab的工作流程并通过这些我重新启动计算机时输入密码)。
与Read-Host
达到相同效果的最简单方法是什么?但是有一个小弹出对话框?
答案 0 :(得分:6)
我会使用掩盖密码的Get-Credentials
,然后从凭据中提取密码。
#Open credential-box that masks your password when you write it.
#The inputs aren't verified, so you can use whatever username you want if it doesn't matter.
$cred = Get-Credential $env:USERDOMAIN\$env:USERNAME
#Get password
$password = $cred.GetNetworkCredential().Password
#View password
$password
TestPassword123
如果您只需要密码,则可以将其缩短为:
$password = (Get-Credential $env:USERDOMAIN\$env:USERNAME).GetNetworkCredential().Password
答案 1 :(得分:1)
回到过去的老vb,我想到了一些似乎有用的简单。
> [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.VisualBasic")
> $clientPassword = [Microsoft.VisualBasic.Interaction]::InputBox("OPassword?", "Client VPN")