Si vous êtes amenés à modifier régulièrement vos stratégies de groupe, il peut être intéressant de conserver des sauvegardes à intervalles réguliers. Il est possible d'automatiser la sauvegarde en utilisant PowerShell.
La commande suivante permet par exemple de sauvegarde l'ensemble des GPO du domaine sur un partage réseau :
Backup-Gpo -All -Path \\2016DC1\Backup\Gpo
Dans ce cas à chaque exécution de la commande, une nouvelle sauvegarde des stratégies vient s'ajouter aux sauvegardes existantes dans le dossier spécifié. Si vous souhaitez exécuter la commande à intervalles réguliers il est préférable de ne conserver qu'un nombre de jours limité.
Dans le script suivant un dossier pour chaque jour est créé et la valeur « $jour » indique le nombre de jours conservé. La valeur « $BackupShare » indique le nom du partage.
import-module GroupPolicy
$BackupShare = "\\2016DC1\Backup\Gpo" # partage pour la sauvegarde
$date = get-date -format yyyy.M.d #Date du jour
$Jour = 15 # Nombre de jour a conserver
$Backup = $BackupShare+"\"+$date #Dossier journalier de sauvegarde
#Création du dossier du jour
New-Item -Name $date -ItemType Directory -Path $BackupShare
#Suppression des anciennes GPO de plus de $jour
Get-ChildItem $BackupShare -Directory | ?{$_.CreationTime -lt (get-date).AddDays(-$Jour)} | %{Remove-Item $_.FullName -Force -Recurse}
#Sauvegarde des stratégies
Backup-Gpo -All -Path $Backup