Windows PowerShell在命令Enter-PSSession中提供密码

时间:2014-03-31 14:29:03

标签: windows powershell

我正在编写一个项目,我运行PowerShell脚本并创建一个新的PSSession,如下所示:

PowerShell.exe -Command enter-pssession myUser -credential userName

当我运行它时,会打开一个对话框,提示用户输入密码。但是,我希望用户能够输入密码以及上述其余部分,而不必担心提示。我是PowerShell的新手,我在docs中找到的所有东西都只提供了提示输入密码的方法。这是在PowerShell中可以实现的吗?谢谢!

2 个答案:

答案 0 :(得分:9)

Rahul给了您一个答案,让您完全避免密码提示,但可能会以明文形式输入用户密码。另一种选择是允许用户在弹出框中填写一次密码,然后保存,以便他们永远不需要重新输入密码。

要弹出用户名和密码的提示,请将结果保存到文件中:

 Get-Credential | Export-Clixml "mycredentials.xml"

然后你可以把它读成一个变量:

$cred = Import-Clixml "mycredentials.xml"
new-pssession -computername <computer> -credential $cred

或合并两个命令:

new-pssession -computername <computer> -credential (Import-Clixml "mycredentials.xml")

以这种方式将凭据保存到文件时,使用当前登录用户的登录凭据安全地加密密码。

答案 1 :(得分:7)

是的,您可以在打开new-pssession时提供密码,如下所示

$passwd = convertto-securestring -AsPlainText -Force -String <your password>

$cred = new-object -typename System.Management.Automation.PSCredential 
-argumentlist "Domain\User",$passwd

$session = new-pssession -computername <computer> -credential $cred