两次运行脚本时,Powershell隐式远程会话会提示您输入密码

时间:2018-06-26 15:25:32

标签: powershell visual-studio-code powershell-remoting

我对powershell中的隐式远程处理功能有疑问,也许有人可以帮忙。

我正在与...打开会话

$Session = New-PSSession -ComputerName $ComputerName -Credential $Credential -ErrorAction Stop

使用$ Credential,我可以提供有效的凭据对象。

在Powershell窗口(或VS Code集成控制台)中首次运行脚本时,一切都按预期工作,并且我的命令在远程计算机上执行。第二次运行相同的脚本时,我可以看到该会话已打开,但仍然提示输入密码(用户名已经存在)。当我关闭VS Code时,再次打开它即可再次运行该脚本,它的工作方式就像一个超级按钮。 当我在临时PS控制台中运行脚本时,它可以工作。

我要终止会话

Remove-PSSession  $Session

也许有人有主意。

谢谢!

1 个答案:

答案 0 :(得分:0)

如果有人面临同样的问题。我找到了解决方法。

当“导入”隐式远程会话时,它将作为模块导入。当“重新连接”会话时(在同一脚本中或在同一控制台窗口中),然后执行远程命令时,它仍使用“旧”模块,因此提示输入凭据。

所以基本上,解决方案是使用“ Remove-Module”命令删除模块,在我的例子中是Exchange-Online。