Powershell远程处理错误 - 找不到网络路径

kub*_*usz 8 powershell powershell-remoting

我无法使用连接到远程服务器enter-pssession -computername serverA.我的情景:

  • 我在同一个域中有2个Win 2003 R2服务器.ServerA是WSUS服务器,serverB是域控制器
  • 两台服务器都启用了PowerShell远程处理
  • 两台服务器都配置了winrm(winrm quickconfig)
  • 两台服务器都将TrustedHosts设置为*
  • setspn.exe设置正确(http,https,wsman等)
  • 两台服务器都关闭了FireWall
  • 两台服务器都有PowerShell 2.0

我正在尝试enter-pssession -computername serverA从serverB到serverA的域管理员凭据,它会抛出以下错误:

""Enter-PSSession:连接到远程服务器失败,并显示以下错误消息:WinRM无法处理请求.使用Kerberos身份验证时出现以下错误:找不到网络路径.""

当我尝试enter-pssession -computername serverB从serverA的域管理员凭据下它工作正常!它也适用于我使用localhost所以:enter-pssession -computername localhost在域管理员凭据(在serverA上)也可以工作,但是当我在serverA(而不是localhost)上尝试主机名时,enter-pssession -computername serverA它会抛出相同的错误.

我也尝试使用get-credential并提供不同类型的凭据,但它没有帮助.唯一有帮助的是使用本地(非域)管理员帐户并运行enter-pssession -computername serverA -credentials $cred并且工作,但只在本地,我能够从本地机器(从serverA到自身)执行此操作,但不能从serverB到serverA下的serverA执行此操作管理员凭据.

有任何想法吗?

谢谢

kub*_*usz 4

首先,我使用域管理员帐户创建了凭据变量:

$cred = get-credential- 我输入了我的域名\用户名和密码

然后我在 -ComputerName 参数中使用 IP 地址而不是主机名,因此 Enter-pssession 如下所示:

Enter-Pssession -ComputerName 192.168.1.111 -Credential $cred

这种方法也适用于调用命令

invoke-command -ComputerName 192.168.1.111 -Credential $cred -ScriptBlock {hostname}

我仍然不知道为什么它不适用于主机名以及为什么我必须创建 $cred,但由于我需要一个快速解决方案,这对我来说效果很好。

感谢帮助。