远程PowerShell,WinRM失败:WinRM无法完成操作

使用Enable-PSWSManCombinedTrace运行Enter-PSSession COMPUTERNAME时,在Windows远程pipe理操作日志中看到以下相关消息:


WSMan操作失败,错误代码2150859046


WinRM无法完成操作。 validation指定的计算机名称是否有效,是否可以通过networking访问该计算机,以及是否启用WinRM服务的防火墙例外,并允许从此计算机访问。 默认情况下,公用configuration文件的WinRM防火墙例外限制对同一本地子网内的远程计算机的访问。


由于以下错误,WinRM协议操作失败:由于以下错误,无法从服务器检索元数据:WinRM无法完成操作。 validation指定的计算机名称是否有效,是否可以通过networking访问计算机,并且是否启用了WinRM服务的防火墙例外,并允许从此计算机访问。 默认情况下,公用configuration文件的WinRM防火墙例外限制对同一本地子网内的远程计算机的访问。 。


有时:

客户端从networking层获取了一个超时(ERROR_WINHTTP_TIMEOUT)


COMPUTERNAME是域上的2012 R2 Core服务器,与Remote PowerShell,Server Manager 工作正常的许多其他服务器具有相同的组策略。 我可以RDP到这个系统,我可以从它得到WMI数据(例如, Get-WmiObject -ComputerName COMPUTERNAME -Class Win32_OperatingSystem返回它应该),以其他方式,它似乎运行得很好。

虽然已经通过组策略设置,但我已经尝试过(无数次)启用WinRM和Remote PowerShell(例如Enable-PSRemoting ,或者调用此命令单独执行的助理步骤。

我已经更换到不同的networking界面,我确保同一网段上的其他系统不会出现这些症状,我遵循Get-Help about_Remote_Troubleshooting的build议,而且我已经牺牲了必要的山羊给巴力。 没什么帮助。

这些症状可从任何域客户端重现到此服务器,或者如果您通过IP(在将它放入TrustedHosts中)后与服务器联系。 没有其他服务器展示这个问题。 在我的环境中至less有两台服务器没有安装软件或configuration(一直安装到防火墙规则和function)。

有任何想法吗?


最近的发现:

netsh http show iplist在非工作系统上返回127.0.0.1 ,但在工作系统上什么都不返回。

正如@ out-null在注释中正确指出的那样,5985正在127.0.0.1上监听的事实是一个问题。 我已经从configuration我们的WinRM设置的GPO中排除了这个系统,并手动创build了监听器:

 winrm create winrm/config/Listener?Address=*+Transport=HTTP 

但是,netstat的结果是一样的。 请注意下面的winrm e的输出,其中IP被列为监听器。

仍然难住这一个…


原始证据/健全性检查

 $> winrm e winrm/config/listener Listener [Source="GPO"] Address = * Transport = HTTP Port = 5985 Hostname Enabled = true URLPrefix = wsman CertificateThumbprint ListeningOn = 10.11.10.117, 127.0.0.1, 169.254.34.30, 169.254.47.200, 169.254.236.165, ::1, fe80::5efe:10.115.63.10 7%16, fe80::5efe:169.254.34.30%45, fe80::28b8:be74:53c:2fc8%12, fe80::69a9:e404:12bd:63c0%15, fe80::7cf2:ec84:332f:221e%14, fe80::cdc6:5ca0:6ae2:eca5%13 $> netsh winhttp show proxy Current WinHTTP proxy settings: Direct access (no proxy server). $> Get-NetFirewallRule WINRM-HTTP-In-TCP | fl * Name : WINRM-HTTP-In-TCP ID : WINRM-HTTP-In-TCP Group : @FirewallAPI.dll,-30267 Platform : {} LSM : False DisplayName : Windows Remote Management (HTTP-In) Enabled : True Profile : Domain, Private Direction : Inbound Action : Allow EdgeTraversalPolicy : Block PrimaryStatus : OK Status : The rule was parsed successfully from the store. (65536) EnforcementStatus : NotApplicable PolicyStoreSourceType : Local Caption : Description : Inbound rule for Windows Remote Management via WS-Management. [TCP 5985] ElementName : @FirewallAPI.dll,-30253 InstanceID : WINRM-HTTP-In-TCP CommonName : PolicyKeywords : PolicyDecisionStrategy : 2 PolicyRoles : ConditionListType : 3 CreationClassName : MSFT|FW|FirewallRule|WINRM-HTTP-In-TCP ExecutionStrategy : 2 Mandatory : PolicyRuleName : Priority : RuleUsage : SequencedActions : 3 SystemCreationClassName : SystemName : DisplayGroup : Windows Remote Management LocalOnlyMapping : False LooseSourceMapping : False Owner : Platforms : {} PolicyStoreSource : PersistentStore Profiles : 3 RuleGroup : @FirewallAPI.dll,-30267 StatusCode : 65536 PSComputerName : CimClass : root/standardcimv2:MSFT_NetFirewallRule CimInstanceProperties : {Caption, Description, ElementName, InstanceID...} CimSystemProperties : Microsoft.Management.Infrastructure.CimSystemProperties COMPUTERNAME$> netstat -anp tcp Active Connections Proto Local Address Foreign Address State TCP 0.0.0.0:135 0.0.0.0:0 LISTENING TCP 0.0.0.0:445 0.0.0.0:0 LISTENING TCP 0.0.0.0:3389 0.0.0.0:0 LISTENING TCP 0.0.0.0:49152 0.0.0.0:0 LISTENING TCP 0.0.0.0:49153 0.0.0.0:0 LISTENING TCP 0.0.0.0:49154 0.0.0.0:0 LISTENING TCP 0.0.0.0:49155 0.0.0.0:0 LISTENING TCP 0.0.0.0:49174 0.0.0.0:0 LISTENING TCP 0.0.0.0:49178 0.0.0.0:0 LISTENING TCP 0.0.0.0:49191 0.0.0.0:0 LISTENING TCP 10.11.10.117:135 192.168.5.71:64570 ESTABLISHED TCP 10.11.10.117:135 192.168.5.71:64571 ESTABLISHED TCP 10.11.10.117:135 192.168.5.71:64572 ESTABLISHED TCP 10.11.10.117:139 0.0.0.0:0 LISTENING TCP 10.11.10.117:3389 10.1.1.2:57970 ESTABLISHED TCP 10.11.10.117:49153 10.1.1.2:58100 ESTABLISHED TCP 10.11.10.117:50601 192.168.5.111:8014 ESTABLISHED TCP 10.11.10.117:56508 192.168.5.177:445 ESTABLISHED TCP 127.0.0.1:5985 0.0.0.0:0 LISTENING TCP 127.0.0.1:47001 0.0.0.0:0 LISTENING TCP 169.254.34.30:139 0.0.0.0:0 LISTENING SOME-WORKING-COMPUTER$> netstat -anp tcp Active Connections Proto Local Address Foreign Address State TCP 0.0.0.0:135 0.0.0.0:0 LISTENING TCP 0.0.0.0:445 0.0.0.0:0 LISTENING TCP 0.0.0.0:5985 0.0.0.0:0 LISTENING TCP 0.0.0.0:47001 0.0.0.0:0 LISTENING TCP 0.0.0.0:49152 0.0.0.0:0 LISTENING TCP 0.0.0.0:49153 0.0.0.0:0 LISTENING TCP 0.0.0.0:49154 0.0.0.0:0 LISTENING TCP 0.0.0.0:49155 0.0.0.0:0 LISTENING TCP 0.0.0.0:49158 0.0.0.0:0 LISTENING TCP 0.0.0.0:49187 0.0.0.0:0 LISTENING TCP 0.0.0.0:49192 0.0.0.0:0 LISTENING TCP 0.0.0.0:49199 0.0.0.0:0 LISTENING TCP 0.0.0.0:49213 0.0.0.0:0 LISTENING TCP 192.168.5.11:139 0.0.0.0:0 LISTENING TCP 192.168.5.11:5985 10.1.1.2:58153 ESTABLISHED TCP 192.168.5.11:5985 10.1.1.2:58154 ESTABLISHED TCP 192.168.5.11:5985 10.1.1.2:58156 ESTABLISHED TCP 192.168.5.11:49203 192.168.5.177:49210 ESTABLISHED TCP 192.168.5.11:49213 192.168.5.177:52784 ESTABLISHED TCP 192.168.5.11:49213 192.168.5.177:54507 ESTABLISHED TCP 192.168.5.11:49213 192.168.5.177:59034 ESTABLISHED TCP 192.168.5.11:52905 192.168.5.177:49210 TIME_WAIT TCP 192.168.5.11:52906 192.168.5.177:49210 TIME_WAIT TCP 192.168.5.11:52907 192.168.5.111:8014 ESTABLISHED TCP 192.168.5.11:52910 192.168.5.177:49210 TIME_WAIT TCP 192.168.5.11:52915 192.168.5.177:49210 TIME_WAIT TCP 192.168.5.11:52918 192.168.5.177:49210 TIME_WAIT TCP 192.168.5.11:52920 192.168.5.177:49210 TIME_WAIT TCP 192.168.5.11:52922 192.168.5.177:49210 ESTABLISHED TCP 192.168.5.11:52923 192.168.5.177:49210 ESTABLISHED TCP 192.168.5.11:52924 192.168.5.177:49210 ESTABLISHED TCP 192.168.5.11:52925 192.168.5.177:49210 ESTABLISHED TCP 192.168.5.11:52926 192.168.5.177:49210 ESTABLISHED TCP 192.168.5.11:52927 192.168.5.177:49210 ESTABLISHED TCP 192.168.5.11:54938 192.168.6.8:49157 ESTABLISHED TCP 192.168.5.11:62632 192.168.5.177:49210 ESTABLISHED TCP 192.168.5.11:64307 192.168.6.8:389 ESTABLISHED 

最后解决了这个问题,最近我在这个问题上增加了证据:

netsh http show iplist

 IP addresses present in the IP listen list: ------------------------------------------- 127.0.0.1 

在这个工作的系统上,这个列表是空的。 起初,这对我来说似乎是相反的直觉。 不过,我给了这个去:

 > netsh http delete iplisten ipaddress=127.0.0.1 

之后,我注意到netstat这个输出:

 >netstat -anp tcp Active Connections Proto Local Address Foreign Address State TCP 0.0.0.0:135 0.0.0.0:0 LISTENING TCP 0.0.0.0:445 0.0.0.0:0 LISTENING TCP 0.0.0.0:3389 0.0.0.0:0 LISTENING TCP 0.0.0.0:5985 0.0.0.0:0 LISTENING TCP 0.0.0.0:47001 0.0.0.0:0 LISTENING TCP 0.0.0.0:49152 0.0.0.0:0 LISTENING TCP 0.0.0.0:49153 0.0.0.0:0 LISTENING TCP 0.0.0.0:49154 0.0.0.0:0 LISTENING TCP 0.0.0.0:49155 0.0.0.0:0 LISTENING TCP 0.0.0.0:49175 0.0.0.0:0 LISTENING TCP 0.0.0.0:49179 0.0.0.0:0 LISTENING TCP 0.0.0.0:49190 0.0.0.0:0 LISTENING TCP 10.115.63.107:139 0.0.0.0:0 LISTENING TCP 10.115.63.107:3389 10.115.13.25:64873 ESTABLISHED TCP 10.115.63.107:49235 192.168.40.146:445 ESTABLISHED TCP 10.115.63.107:49291 192.168.40.45:8014 ESTABLISHED TCP 169.254.34.30:139 0.0.0.0:0 LISTENING 

事实上,WinRM的工作方式应该是这样。

我猜测,如果没有configurationHTTP监听器,那么所有的HTTP监听器都会绑定到默认的实体: 0.0.0.0 。 因为回送地址被configuration为侦听器地址,所以监听器改为绑定到这个地址。

在某种程度上,我必须采取一些行动,导致这种configuration,但我不知道如何。 无论如何,现在工作正常。 谢谢大家。