One of PowerShell V2’s strongest assets is its remote management capability. When you enable remote management, a few actions are taken.
- Enables the WinRM service
- Starts the WinRM service.
- Set’s the WinRM Service to start automaticlly.
- A modification is made to the Windows Firewall to permit incoming WinRM connections. (Outgoing connections are allowed by default.)
- Windows PowerShell is registered as a WinRM endpoint. Both the 32 and 64 bit versions are registered. This allows the WinRM service to be able to send and received back commands and information to applications on your remote clients.
- You will be prompted (if manually doing this) to confirm your decision. This is because this action has an impact level of “high".
You can manually enable PowerShell Remoting by opening a PowerShell session with local administrative rights and entering the cmdlet Enable-PSRemoting. You will be prompted to confirm your choice and the cmdlet will execute the necessary actions. You can see a screen shot below.
This requires you to visit each client that you want to run PowerShell remoting on. The easier and more effective way of doing this in the enterprise with Group Policy.
Open up Group Policy Management.
Expand your Forest / Domains / DomainName
Right Click Group Policy Object and click New.
Provide a name for this GPO. For this demonstration, I named mine PSRemoteSetup.
Right click your GPO and click Edit.
Expand Computer Configuration / Policies / Administrative Templates / Windows Components / Windows Remote Management (WinRM) / WinRM Service.
Open Allow automatic configuration of listeners
- Set this policy to Enable
- Enter * in IPv4 filter:
- Enter * in IPv6 filter:
- Click OK
Expand Computer Configuration / Policies / Windows Settings / Security Settings / Windows Firewall with Advanced Security / Windows Firewall with Advanced Security
- Right click Inbound Rules and select New Rule.
- Select Predefined.
- In the drop down box, select Windows Remote Management
- Click Next
- Check only Windows Remote Management (HTTP-In)
- Click Next.
- Select Allow the connection.
- Click Finish
If this policy is going to be applied to only Windows Server 2008 servers, exit Group Policy Management Editor. If this policy is going to be applied to Windows Vista or Windows 7 clients, we need to enable one more Group Policy.
Expand Computer Configuration / Policies / Windows Settings / Security Settings / System Services
Double click Windows Remote Management (WS-Management)
Check Define this policy setting
Exit Group Policy Management Editor.
Now link this GPO to the OUs that contain the computer objects that you want to remotely manage with PowerShell.