在弹出窗口中读取主机的最简单方法是什么?

时间:2014-06-14 22:51:19

标签: powershell user-interface

我有一个客户端vpn的密码,我需要从命令行重复输入。我不想将它存储在磁盘上,而是在我的powershell $ profile中查询它,将它存储在shell实例范围内的变量中,然后在其他脚本中重用它(这样它只存在于内存中)。

我可以使用Read-Host来查询密码,但我更喜欢弹出对话框(Paegent已经弹出一个对话框,我已经习惯了alt + tab的工作流程并通过这些我重新启动计算机时输入密码)。

Read-Host达到相同效果的最简单方法是什么?但是有一个小弹出对话框?

2 个答案:

答案 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")