对远程服务器的 Enter-PSSession 失败并显示 "cannot find the computer"

Enter-PSSession to remote server fails with "cannot find the computer"

我的桌面是 win7,我正在尝试连接到服务器 2012。
两台主机都在同一个域中。

如果我这样做:

Enter-PSSession -ComputerName *ServerName***   

我从 winrm 收到以下失败消息

Enter-PSSession : Connecting to remote server xxx failed with the following error message : WinRM cannot process the request. The following error occurred while using Kerberos authentication: Cannot find the computer xxx. Verify that the computer exists on the network and that the name provided is spelled correctly.*

无论我只使用服务器名称还是完全限定都没有关系。

两个系统都显示$PSVersionTable.PSVersion 4 0 -1 -1

我尝试了各种故障排除提示,即
运行 Enable-PSRemoting -Force 两边也设置TrustedHosts = *.
我还禁用了双方的防火墙服务。
当我尝试从服务器到我的桌面输入 Enter-PSSession 时,它按预期工作。
但是从我的桌面到服务器,我总是收到找不到计算机的错误消息。

运行 winrm quickconfig 来自远程计算机上的 powershell 会话

在与我们的域管理员交谈后,我想我找到了问题的原因。
服务器位于仅对主 OU 具有单向信任的资源域中。
这解释了为什么我可以 PS 从服务器到客户端进行远程处理,但反之则不行。
我发现我可以在我的案例中使用带有 -Credential 选项的 IP 地址,虽然这不是很好但可以接受的解决方法。

在我的例子中,DNS 指向正确的 IP,但主机名中有一个拼写错误,所以基本上参数 -Computername 和实际主机名不匹配。

这很可能是因为您的 netbios 名称与服务器的主机名不同。尝试使用 netbios 名称连接。

  • 通过 运行 在 powershell 中执行以下命令来确定正确的名称:

"$env:COMPUTERNAME.$env:USERDNSDOMAIN"

我知道已经很晚了,但我正在修复少数几个遇到同样问题的网站。对我来说,这是根域中重复的计算机名称。通过 运行 setspn -f -q */servername 找到它。这会弹出多个域中的服务器名称。从 root AD 和 root dns 中删除无效机器,然后我就起来了 运行.