Windows PowerShell 在命令 Enter-PSSession 中给出密码



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

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

当我运行它时,它会打开一个对话框,提示用户输入密码。但是,我希望用户能够输入密码以及上述行的其余部分,而不必为提示而烦恼。我对PowerShell非常陌生,我在文档中找到的所有内容都只能提供提示输入密码的方法。这是可以在PowerShell中完成的吗?谢谢!

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

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

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

$passwd = convertto-securestring -AsPlainText -Force -String <your password>
$cred = new-object -typename System.Management.Automation.PSCredential 
-argumentlist "DomainUser",$passwd
$session = new-pssession -computername <computer> -credential $cred

现有的答案不是最新的,这是它目前的工作方式:

$password = ConvertTo-SecureString "password" -AsPlainText -Force
$cred = New-Object System.Management.Automation.PSCredential ("username", $password)
$session = Enter-PSSession -computername "computername" -credential $cred

以下是有关Microsoft凭据的一些文档:https://learn.microsoft.com/en-us/powershell/scripting/learn/deep-dives/add-credentials-to-powershell-functions?view=powershell-7.2

相关内容

最新更新