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

thn*_*tls 7 windows powershell

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

PowerShell.exe -Command enter-pssession myUser -credential userName
Run Code Online (Sandbox Code Playgroud)

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

Dun*_*can 11

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

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

 Get-Credential | Export-Clixml "mycredentials.xml"
Run Code Online (Sandbox Code Playgroud)

然后你可以将其读入变量:

$cred = Import-Clixml "mycredentials.xml"
new-pssession -computername <computer> -credential $cred
Run Code Online (Sandbox Code Playgroud)

或合并这两个命令:

new-pssession -computername <computer> -credential (Import-Clixml "mycredentials.xml")
Run Code Online (Sandbox Code Playgroud)

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


Rah*_*hul 8

是的,您可以在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
Run Code Online (Sandbox Code Playgroud)