Enter-PSSession到远程服务器失败,"找不到计算机"

use*_*869 18 powershell-remoting powershell-3.0

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

如果我做:

Enter-PSSession -ComputerName *ServerName***   
Run Code Online (Sandbox Code Playgroud)

我从winrm收到以下失败消息

Enter-PSSession:连接到远程服务器xxx失败,并显示以下错误消息:WinRM无法处理请求.使用Kerberos身份验证时发生以下错误:找不到计算机xxx.验证网络上是否存在计算机,并且提供的名称拼写正确.*

如果我只使用服务器名称或完全符合条件输入它并不重要.

两个系统都表明了 $PSVersionTable.PSVersion 4 0 -1 -1

我已经尝试了各种故障排除提示,我发现即
运行Enable-PSRemoting -Force,也设置TrustedHosts = *在两侧.
我还禁用了双方的防火墙服务.
当我尝试从服务器将Enter-PSSession输入到我的桌面时,它可以根据需要运行.
但是从我的桌面到服务器,我总是收到无法找到计算机的错误消息.

use*_*869 5

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

  • 这是[页面](https://www.techtutsonline.com/windows-powershell-remoting/),其中包含如何在单向受信任域之间启用WinRM远程处理的更多详细信息(请在“配置PowerShell远程处理”下查看)。基本上是Set-Item WSMan:\\ localhost \ client \ TrustedHosts -Value <IP或计算机名称> -Concatenate -Force` (2认同)

小智 5

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

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

"$env:COMPUTERNAME.$env:USERDNSDOMAIN"

  • 这仅在您的用户与机器在同一个域中时才正确,在我的情况下不是。获取服务器域的正确命令是:(Get-CimInstance -class Win32_ComputerSystem | % {$_.Name+'.'+$_.Domain}) (2认同)