While scripting the same report as earlier, I cam across a server which I could not connect to remotely via PowerShell.
The WS-Management service was running but was not listening on port 5985 as it should be.
Running the winrm quickconfig command resulted in another error:
WinRM already is set up to receive requests on this machine.
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”.
Error number: -2144108526 0x80338012
Restarting the winrm service resulted in a couple errors in the System event log for port 5985 and 47001 with event ID 10128:
The WinRM service is not listening for HTTP requests because there was a failure binding to the URL (http://+:47001/wsman/) in HTTP.SYS.
No remote requests will be serviced on that URL.
Please use “netsh http” to check if ACL for URL (http://+:47001/wsman/) is set to Network Service.
The error code received from HTTP.sys is 5: %%5
I ran netsh http show urlacl from and elevated command prompt and discovered there were no wsman entries at all.
I then ran the following commands to add the URL ACL entries and restart the WinRM service.
netsh http add urlacl url=http://+:47001/wsman/ user=”NT SERVICE\WinRM”
netsh http add urlacl url=http://+:5985/wsman/ user=”NT SERVICE\WinRM”
net stop winrm
net start winrm
I tried running winrm quickconfig again and this time it was successful! PowerShell remoting was working again.