如果计算机名称包含点,则 PowerShell 远程处理不起作用

如果计算机名称包含点,则 PowerShell 远程处理不起作用

我有一个系统,当计算机名称包含点时,我无法使用 PowerShell 连接到远程计算机(或远程连接到其自身)。

例如,这个有效:

  Enter-PSSession HostA -Credential user1

但事实并非如此:

  Enter-PSSession 192.168.0.1 -Credential user1 

这也不起作用:

  Enter-PSSession HostA.DomainA -Credential user1 

当我尝试使用 IP 地址或完整域名(或仅在其简称中添加点)通过网络将 PS-Session 连接到同一台计算机时,也会出现同样的问题。唯一的例外是“127.0.0.1” - 在这种情况下,远程 PS 连接有效。我将 TrustedHosts 设置为“*” - 这没有任何区别。

我有另一个系统没有表现出这种行为 - 即我可以交替使用 IP 地址和完全限定的主机名。我没有看到这些系统之间的配置有任何明显的差异。

我收到以下错误:

Enter-PSSession : Connecting to remote server 192.168.0.1 failed with
the following error message : The client cannot  connect to the
destination specified in the request. Verify that the service on the
destination is running and is  accepting requests. Consult the logs
and documentation for the WS-Management service running on the
destination, most  commonly IIS or WinRM. If the destination is the
WinRM service, run the following command on the destination to analyze
and configure the WinRM service: "winrm quickconfig". For more
information, see the about_Remote_Troubleshooting Help  topic. At
line:1 char:1
Enter-PSSession 192.168.0.1 -Credential user1
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     + CategoryInfo          : InvalidArgument: (192.168.0.1:String) [Enter-PSSession], PSRemotingTransportException
     + FullyQualifiedErrorId : CreateRemoteRunspaceFailed

有人知道这是什么原因造成的吗?

答案1

PSRemoting 到 IP 地址总是会出错,可能与计算机名称和证书有关,我没费心研究它。不过 FQDN 对我来说是可行的。请记住,FQDN 可以与域名分开,否则行不通。

微软表示句号是NETBIOS 名称,但是在我的 Windows 7 电脑上更改计算机名称以添加一个点时,会出现错误。经过进一步调查,MS 已这就是说关于那个特殊字符:

句点字符将名称分隔为 NetBIOS 范围标识符和计算机名称。NetBIOS 范围标识符是可选字符串,用于标识在同一物理 TCP/IP 网络上运行的逻辑 NetBIOS 网络。要使 NetBIOS 在计算机之间工作,计算机必须具有相同的 NetBIOS 范围标识符和唯一的计算机名称。

这与使用句点指定 fqdn 略有不同。事实上,我甚至可以说,它可能将句点解释为指定 fqdn,而这正是导致问题的原因。

相关内容