我正在编写一个项目,我运行PowerShell脚本并创建一个新的PSSession,如下所示:
PowerShell.exe -Command enter-pssession myUser -credential userName
当我运行它时,会打开一个对话框,提示用户输入密码。但是,我希望用户能够输入密码以及上述其余部分,而不必担心提示。我是PowerShell的新手,我在docs中找到的所有东西都只提供了提示输入密码的方法。这是在PowerShell中可以实现的吗?谢谢!
答案 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