Restores one GPO or all GPOs in a domain from one or more GPO backup files.
Active Directory · Risk: High · Documentation Verified
Last verified: 2026-10-26
Microsoft GroupPolicy reference: Restores one GPO or all GPOs in a domain from one or more GPO backup files. The syntax and selected example below are adapted from the pinned Windows Server 2025 reference. Module availability, target configuration and delegated permissions determine whether it can run in your environment. Documentation and parameter text: Microsoft, CC BY 4.0; formatting adapted by Cmdlet World. No execution testing is claimed.
Use an account with the target resource permissions documented for Restore-GPO. Modifying administrative cmdlets may require elevation or delegated administration. This catalog does not assert that ordinary users can execute the command.
Supported environments
Windows / GroupPolicy · Windows Server 2025 documentation; feature/module prerequisites apply
Parameters
-All (required)
Indicates that the cmdlet restores all GPOs in the domain that have backups in the backup directory. Each GPO is restored from its most recent backup in the directory.
-BackupId (required)
Specifies the backup ID of a GPO backup. The backup ID is a globally unique identifier (GUID) that uniquely identifies the backup. You can use this parameter to specify a particular version of a backed-up GPO in the backup directory. The backup ID is different from the ID of the GPO that was backed up (specified by the Guid parameter), you can find the backup ID in the backup directory.
-Confirm
Prompts you for confirmation before running the cmdlet.
-Domain
Specifies the domain for this cmdlet. You must specify the fully qualified domain name (FQDN) of the domain. For the Restore-GPO cmdlet, this is the domain in which you want to restore the GPO. This must be the domain from which the GPO was backed up. If you do not specify the Domain parameter, the domain of the user that is running the current session is used. If the cmdlet is being run from a computer startup or shutdown script, the domain of the computer is used. For more information, see the Notes section in the full Help. If you specify a domain that is different from the domain of the user that is running the current session (or, for a startup or shutdown script, the computer), a trust must exist between that domain and the domain of the user or the computer. You can also refer to the Domain parameter by its built-in alias, DomainName. For more information, see about_Aliases.
-Guid (required)
Specifies the GPO to restore by its globally unique identifier (GUID). The GUID uniquely identifies the GPO. The GPO is restored from its most recent backup in the backup directory. To specify a different backup than the most recent backup, use the BackupID parameter. You can also refer to the Guid parameter by its built-in alias, Id.
-Name (required)
Specifies the GPO to restore by its display name. The GPO is restored from its most recent backup in the backup directory. To specify a different backup than the most recent backup, use the BackupId parameter. The display name is not guaranteed to be unique in the domain. If another GPO with the same display name exists in the domain an error occurs. You can use the Guid parameter to uniquely identify a GPO. You can also refer to the Name parameter by its built-in alias, DisplayName.
-Path (required)
Specifies the path to the backup directory. You can also refer to the Path parameter by its built-in alias, BackupLocation.
-Server
Specifies the name of the domain controller that this cmdlet contacts to complete the operation. You can specify either the fully qualified domain name (FQDN) or the host name. If you do not specify the name by using the Server parameter, the primary domain controller (PDC) emulator is contacted. You can also refer to the Server parameter by its built-in alias, DC.
-WhatIf
Shows what would happen if the cmdlet runs. The cmdlet is not run.
Prerequisites
Windows with the GroupPolicy module and the Windows feature or management tools that provide it. Confirm target connectivity and version compatibility using the linked Microsoft reference.
Security considerations
This cmdlet changes system state. Review every target and parameter in the official reference, test outside production, and prepare an appropriate backup or rollback. Do not execute the example automatically.
This command restores the GPO named TestGPO from the \\Server1\Backups directory. The most recent backup is restored. Source: Microsoft, CC BY 4.0; transcript prompt/output removed. This example was not executed.