PowerShell WinRM

PowerShell is a great tool and the main purpose is to gather information and or make changes to computer systems. So it would be understandable that it would have a specific way to connect to systems across the network remotely. This process is called WinRM. This can easily be configured using group policy to enable it on all your machines or can be invoked manually by running PowerShell on the local machine and right click and Run As Administrator and enter:

winrm quickconfig

PowerShell WinRM

Also note that if you run Windows firewall you have to open the service / port on each machine. Again, this can easily be accomplished using group policy. Another item to keep in mind that if you have multiple networks layers / firewalls the ports need to be opened for communication to each network.

Installing and Configurng WinRm

Once you configure WinRM on a remote machine you can execute a statement like the one below and the code within the script block is actually executed on the remote machine and the return value is sent back you the originating system you executed your script from. This can also be executed against and array of systems so you can run the same command on 5,10,2000 machines in series or parallel.

PowerShell WinRM