我希望有人能解释一下这个问题,几个月来我一直在使用下面的代码创建一个新的 PSSession,并且一直运行良好!直到今天它突然开始出现错误:
New-PSSession : [IPAddressHere] Connecting to remote server IPAddressHere failed with the following error message :
Access is denied. For more information, see the about_Remote_Troubleshooting Help topic.
At line:5 char:15
+ $session = New-PSSession -ComputerName IPAddressHere -Credential $cred
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : OpenError: (System.Manageme....RemoteRunspace:RemoteRunspace) [New-PSSession], PSRemotingTransportException
+ FullyQualifiedErrorId : AccessDenied,PSSessionOpenFailed
出错的代码:
Set-Item WSMan:\localhost\Client\TrustedHosts -Value "*" -Force
$password = ConvertTo-SecureString "MyPassword" -AsPlainText -Force
$cred= New-Object System.Management.Automation.PSCredential ("Domain\MyUsername", $password )
$session = New-PSSession -ComputerName IPAddressHere -Credential $cred
与原始代码中相同的复制/粘贴用户名/密码的代码
Set-Item WSMan:\localhost\Client\TrustedHosts -Value "*" -Force
$session = New-PSSession -ComputerName IPAddressHere -Credential (Get-Credential)
但是现在出错的代码已经运行了很长时间,没有运行任何更新,也没有 AD 更改,除了我上周更改了密码。但这也发生在所有现有的 AD 帐户上,甚至新的管理员帐户上。我可以通过 RDP 顺利进入服务器,也尝试过重新启动,但没有效果。
我位于与执行代码的服务器不同的域上。
有什么想法吗,因为我尝试将获取凭据添加到我的应用程序,但是由于 powershell 是从 Windows Forms .NET 应用程序内部调用的,因此 Get-Credentials 弹出窗口似乎不允许每次都询问凭据的解决方法。
问候
利亚姆