Enable WinRM on Windows Servers and Windows PCs

In this article, we shall discuss how to enable WinRM on Windows Servers and Windows PCs. Windows PowerShell remoting lets you run any Windows PowerShell command on one or more remote computers. You can establish persistent connections, start interactive sessions, and run scripts on remote computers. PowerShell remoting is similar to SSH used in accessing remote computers. Please see how to determine Windows PowerShell version and see if WinRM is running via Test-WSMan,
WinRM is started automatically on newer versions of Windows Server. That is from WS 2008) to be precise at the time of writing this piece, which simplifies the process to enable WinRM on Windows Servers and Windows PCs.
Note: By default, no WinRM listener is configured. Even if the WinRM service is running, WS-Management protocol messages that request data can’t be received or sent. WinRM is not configured by default on Windows PCs or Servers, even when WinRM service is running. The “Internet Connection Firewall (ICF)” blocks access to ports. That is, by default, the WinRM listener doesn’t accept remote connections
Please see steps for Enabling and Configuring WinRM via GPO, “PowerShell Remoting | Windows Management Instrumentation“, and how to fix “WinRM cannot complete the operation, verify that the specified computer name is valid“.
PowerShell Remoting | WMI
PowerShell Remoting uses the Windows Management Instrumentation (WMI) protocol, which is essential to enable WinRM on Windows Servers and Windows PCs. WMI is a set of specifications from Microsoft for consolidating the management of devices and applications in a network from Windows systems.
WMI provides information about the status of local or remote computer systems to users.
Windows Management Instrumentation
Note: PowerShell remoting is disabled by default. Therefore, you will have to enable PowerShell Remoting before it can be used. Furthermore, this command line tool is needed to enable the WMI.
But it was already running as displayed in my lab. Simply enter
winrm quickconfig

Since this is already enabled and running as stated, we will proceed to learn how to enable WinRM on Windows Servers and Windows PCs, and access computers remotely.
If you wish to enable PowerShell Remoting via Powershell cmdlet, simply run the command below.
Enable-PSRemoting -Force

However, the WinRM service is already running. The next step would be to access our computers remotely on Windows Servers and Windows PCs.
Note: in order to achieve success in setting up PowerShell Remoting in your domain depends on how your network is provisioned.
Most-times, this service can be disabled via GPO. You will need Administrative privileges in order to enable WinRM on Windows Servers and Windows PCs.

Now that we have successfully connected to a computer on our network as shown above, we can move forward.
Let us now perform certain operations to get the computer system and security logs. Kindly see the image below for these steps.

Note: You can also connect to multiple computers at the same time and this requires using the PowerShell invoke cmdlet as shown below.
Invoke-Command -ComputerName COMPUTER -ScriptBlock { COMMAND } -credential USERNAME
Cmdlet explanation
The “computer” here represents the remote PC name or IP Address. “Command” here is the command you intend to run. “USERNAME” is the username you want to run the command as on the remote computer. This username should have the needed Administrative privileges.
Note: You’ll be prompted to enter the desired password for the username
To test if the WinRM service is running on the remote computer, please run the WsMan command below. If this executes successfully, then everything is alright regarding your steps to enable WinRM on Windows Servers and Windows PCs.
Test-WsMan COMPUTER
I hope you found this article very useful on how to enable WinRM on Windows Servers and Windows PCs. Please feel free to leave a comment below.