Group Policy Cmdlets in Windows PowerShell
The Windows PowerShell command-line and scripting language can be used to automate many Group Policy tasks, including configuring registry-based policy settings and various Group Policy Management Console (GPMC) tasks. To help you perform these tasks, the Group Policy module for Windows PowerShell provides the cmdlets covered in this section.
You can use these Group Policy cmdlets to perform the following tasks for domain-based Group Policy objects (GPOs):
- Maintain GPOs: GPO creation, removal, backup, reporting, and import.
- Associate GPOs with Active Directory Directory Services (AD DS) containers: Group Policy link creation, update, and removal.
- Set inheritance and permissions on AD DS organizational units (OUs) and domains.
- Configure registry-based policy settings and Group Policy Preferences Registry settings.
Group Policy Cmdlet Prerequisites
To use the Windows PowerShell cmdlets for Group Policy, you must be running one of the following:
Windows Server 2008 R2 on a domain controller
–or–
Windows Server 2008 R2 on a member server that has the GPMC installed
–or–
Windows® 7 with Remote Server Administration Tools (RSAT) installed. (RSAT includes the GPMC and the Group Policy cmdlets)
Getting Started with the Group Policy Cmdlets
You must use the import-module grouppolicy command to import the Group Policy module before you use the Group Policy cmdlets. You can also modify your Windows PowerShell profile to import the Group Policy module every time you start a session. For more information, see about_Modules.
You can use the get-command –module grouppolicy to get a list of all Group Policy commands.
You can get help for all Group Policy commands at once by using the get-command –module grouppolicy | get-help command.
Note |
---|
For more information about the Group Policy cmdlets, you can use the get-help<cmdlet-name> and get-help<cmdlet_name>-detailed commands to display basic and detailed help, respectively.
Because the information displayed by the get-help cmdlet can span many screens, the help alias is provided to display the first page of information. You can then press the spacebar to view subsequent pages of information. This has the same effect as using the more command—for example, get-help <your parameters> | more. |
Group Policy Cmdlets
Name | Description |
---|---|
Backup-GPO | Backs up one GPO or all the GPOs in a domain. |
Copy-GPO | Copies a GPO. |
Get-GPInheritance | Retrieves Group Policy inheritance information for a specified domain or OU. |
Get-GPO | Gets one GPO or all the GPOs in a domain. |
Get-GPOReport | Generates a report in either XML or HTML format for a specified GPO or for all GPOs in a domain. |
Get-GPPermissions | Gets the permission level for one or more security principals on a specified GPO. |
Get-GPPrefRegistryValue | Retrieves one or more registry preference items under either Computer Configuration or User Configuration in a GPO. |
Get-GPRegistryValue | Retrieves one or more registry-based policy settings under either Computer Configuration or User Configuration in a GPO. |
Get-GPResultantSetOfPolicy | Outputs the Resultant Set of Policy (RSoP) information to a file, for a user, a computer, or both. |
Get-GPStarterGPO | Gets one Starter GPO or all Starter GPOs in a domain. |
Import-GPO | Imports the Group Policy settings from a backed-up GPO into a specified GPO. |
New-GPLink | Links a GPO to a site, domain, or OU. |
New-GPO | Creates a new GPO. |
New-GPStarterGPO | Creates a new Starter GPO. |
Remove-GPLink | Removes a GPO link from a site, domain, or OU. |
Remove-GPO | Deletes a GPO. |
Remove-GPPrefRegistryValue | Removes one or more registry preference items from either Computer Configuration or User Configuration in a GPO. |
Remove-GPRegistryValue | Removes one or more registry-based policy settings from either Computer Configuration or User Configuration in a GPO. |
Rename-GPO | Assigns a new display name to a GPO. |
Restore-GPO | Restores one GPO or all GPOs in a domain from one or more GPO backup files. |
Set-GPInheritance | Blocks or unblocks inheritance for a specified domain or OU. |
Set-GPLink | Sets the properties of the specified GPO link. |
Set-GPPermissions | Grants a level of permissions to a security principal for one GPO or for all the GPOs in a domain. |
Set-GPPrefRegistryValue | Configures a registry preference item under either Computer Configuration or User Configuration in a GPO. |
Set-GPRegistryValue | Configures one or more registry-based policy settings under either Computer Configuration or User Configuration in a GPO. |