当运行时Enter-PSSession COMPUTERNAME
,Enable-PSWSManCombinedTrace
我在 Windows 远程管理操作日志中看到以下相关消息:
WSMan 操作获取失败,错误代码 2150859046
WinRM 无法完成该操作。请验证指定的计算机名称是否有效、该计算机是否可通过网络访问,以及 WinRM 服务的防火墙例外是否已启用并允许从此计算机进行访问。默认情况下,公共配置文件的 WinRM 防火墙例外会限制对同一本地子网内的远程计算机的访问。
WinRM 协议操作因以下错误而失败:由于以下错误,无法从服务器检索元数据:WinRM 无法完成操作。请验证指定的计算机名称是否有效、计算机是否可通过网络访问以及 WinRM 服务的防火墙例外是否已启用并允许从此计算机进行访问。默认情况下,公共配置文件的 WinRM 防火墙例外会限制对同一本地子网内的远程计算机的访问。
有时:
客户端收到网络层超时 (ERROR_WINHTTP_TIMEOUT)
COMPUTERNAME
是域中的 2012 R2 Core 服务器,与许多其他服务器一样,受远程 PowerShell、服务器管理器、等人运行良好。我可以通过 RDP 连接到此系统,可以从中获取 WMI 数据(例如,Get-WmiObject -ComputerName COMPUTERNAME -Class Win32_OperatingSystem
返回应有的数据),并且在其他所有方面,它似乎都运行良好。
虽然它已经通过组策略设置,但我还是尝试(多次)启用 WinRM 和远程 PowerShell,例如Enable-PSRemoting
,或调用此命令单独执行的相关步骤。
我已经更换了网络接口,确保同一网段上的其他系统不会出现这些症状,听从了 的建议Get-Help about_Remote_Troubleshooting
,并且向 Baal 献祭了必要的山羊。但都无济于事。
这些症状可以从任何域客户端重现到此服务器,或者如果您通过 IP 联系服务器(将其放入 TrustedHosts 后),则可重现。没有其他服务器出现此问题。在我的环境中,没有任何软件或配置(一直到启用的 FW 规则和安装的功能)不存在于至少 2 台其他服务器上。
有任何想法吗?
最新发现:
netsh http show iplist
127.0.0.1
在非工作系统上返回,但在工作系统上不返回任何内容。
正如@out-null在评论中正确指出的那样,5985 监听 127.0.0.1 是一个问题。此后,我已将此系统从配置 WinRM 设置的 GPO 中排除,并手动创建了监听器:
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
答案1
最终解决了它,这得益于我最近添加到问题中的证据:
netsh http 显示 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 可以正常运行。
通过测试,我推测,如果没有配置 HTTP 侦听器,则所有 HTTP 侦听器都将绑定到默认实体:0.0.0.0
。由于将环回地址配置为侦听器地址,因此侦听器将绑定到此地址。
在某个时候,我肯定采取了某些行动,导致了这种配置,尽管我不确定是怎么回事。无论如何,它现在运行良好。谢谢大家。