Sauvegarde et restauration des stratégies de groupe (GPO)
Sommaire
I. Présentation
Dans ce chapitre, je vous propose d'aborder la notion de sauvegarde et de restauration des stratégies de groupe. Sauvegarder une GPO a plusieurs intérêts :
- Avant d'apporter des changements importants, afin de faciliter le retour-arrière
- Réimporter les paramètres d'une GPO au sein d'une autre GPO, sur le même domaine ou un autre domaine
- Se protéger contre les éventuelles suppressions accidentelles
Nous allons voir comment sauvegarder une GPO, comme la restaurer, mais aussi comment sauvegarder toutes les stratégies de groupe grâce à PowerShell, ce qui permet également d'automatiser cette tâche.
Ce chapitre est disponible au format vidéo :
II. Sauvegarder une GPO
Sur votre serveur, ouvrez la console GPMC (Gestion de stratégie de groupe). Ensuite, déroulez "Objets de stratégie de groupe" dans la console : la liste des GPO de votre domaine va apparaître.
Si, par exemple, on souhaite sauvegarder la GPO "C_Firewall_RGPU" que l'on a créé dans un précédent chapitre, il suffit de faire un clic droit dessus et de cliquer sur "Sauvegarder...".
Un assistant s'ouvre, il y a deux choses à renseigner :
- L'emplacement, c'est-à-dire le dossier dans lequel il faut stocker la sauvegarde
- La description, par exemple le nom de la GPO ou la date de sauvegarde
Le dossier créé aura pour nom un identifiant (type GUID), ce n'est pas très parlant mais nous verrons que c'est facilement exploitable.
Lorsque vous avez renseigné les deux champs, ou en tout cas à minima l'emplacement, cliquez sur "Sauvegarder".
Patientez quelques secondes et vous devriez obtenir un message de validation.
Ensuite, si l'on regarde au niveau du stockage ce que ça donne, on remarque bien la présence d'un nouveau dossier correspondant à la sauvegarde notre GPO. A l'intérieur, on retrouve les différents fichiers de notre GPO.
III. Restaurer une GPO
Maintenant, intéressons-nous à la restauration d'une GPO à partir d'une sauvegarde. Toujours dans la console GPMC, cette fois-ci, effectuez un clic droit directement sur "Objets de stratégie de groupe" puis cliquez sur "Gérer les sauvegardes".
Note : vous remarquerez la présence de l'option "Sauvegarder tout" qui sert comme son nom l'indique à réaliser une sauvegarde unique de toutes les GPO.
Ensuite, il faut indiquer le chemin vers le dossier où se situe la sauvegarde votre GPO. L'idéal est de centraliser les sauvegardes dans un même dossier, sans faire de sous-dossier car il ne serait pas pris en compte.
L'utilitaire va afficher la liste des sauvegardes trouvées, vous pouvez avoir plusieurs sauvegardes pour la même GPO. Ce qui donne :
Dans le cas où vous avez plusieurs versions pour la même GPO, vous pouvez cocher la case "N'afficher que la dernière version des objets GPO" pour épurer l'affichage.
Pour restaurer une sauvegarde, c'est simple :
1 - On sélectionne la sauvegarde dans la liste
2 - On clic sur le bouton "Restaurer"
3 - On clic sur "OK" pour déclencher la restauration de la sauvegarde
Note : si la GPO n'existe plus dans votre infrastructure, elle sera créée. Si elle existe toujours, elle sera écrasée pour revenir à l'état antérieur.
Avant de déclencher l'opération, si vous ne savez pas trop quelle version restaurer, vous pouvez sélectionner une sauvegarde et cliquer sur "Afficher les paramètres" pour voir le contenu de cette version.
Concernant la restauration d'une GPO il est à noter que :
- Cela ne restaure pas les liaisons de la GPO - il faudra recréer les liens manuellement
- Cela ne restaure pas le filtre WMI s'il n'existe plus (un filtre WMI peut être exporté via un clic droit dessus)
- Les autorisations visibles dans l'onglet "Délégation" sont restaurées
Si ces éléments ne sont pas restaurés, cela implique bien sûr qu'ils ne sont pas inclus à la sauvegarde.
IV. Sauvegarder toutes les GPO avec PowerShell
Nous venons de voir comment sauvegarder une GPO via la console GPMC mais cela n'est pas très efficace s'il y a besoin de sauvegarder un ensemble de GPO de façon régulière.
Grâce au module PowerShell "GroupPolicy" on peut aisément manipuler les stratégies de groupe en ligne de commande. Une seule ligne suffit pour sauvegarder toutes les GPO :
Get-GPO -Domain it-connect.local -All | Backup-GPO -Path "C:\Backup"
Je vous propose d'utiliser un script que j'ai créé et qui est disponible sur GitHub pour sauvegarder toutes les GPO, en réalisant un dossier par jour, et en gérant une rétention sur les sauvegardes sur X jour. Tout est expliqué sur la page ci-dessous et vous pourrez le télécharger également sur cette page.
Par exemple, pour réaliser les sauvegardes dans le dossier "V:\Sauvegardes\GPO" et conserver 31 sauvegardes, il faudra utiliser la commande suivante :
.\Backup-AllGPO.ps1 -Destination "V:\Sauvegardes\GPO" -BackupToKeep 31
V. Fusionner deux GPO
Pour finir, je souhaitais partager avec vous une astuce : si vous souhaitez fusionner deux GPO, c'est-à-dire prendre les paramètres d'une GPO et les importer dans une autre pour ne faire qu'un, cela est possible. Vous devez :
1 - Réaliser une sauvegarde de la GPO qui contient les paramètres que vous souhaitez récupérer
2 - Effectuer un clic droit sur la GPO cible, et cliquer sur "Importer des paramètres"
3 - Suivez l'assistant ensuite pour charger votre sauvegarde et les paramètres seront intégrés à votre GPO existante, ce qui permet de fusionner des GPO
4 - Supprimez si vous le souhaitez la GPO source