15/11/2024

PowerShellStratégie de groupe

Comment copier une GPO ? La réponse avec PowerShell

I. Présentation

Lorsque l'on veut créer plusieurs GPO similaires, on peut créer une GPO Starter qui va servir de base et ensuite créer les GPO à partir de ce modèle. Tout simplement, et c'est légitime, on peut avoir envie de créer une copie d'une GPO : comment faire ? 

Avec la console GPMC (Gestion de stratégie de groupe), on peut y arriver, en quelques clics : il faut faire un clic droit sur la GPO, cliquez sur "Copier" puis faire un clic droit sur "Objets de stratégie de groupe" et faire coller. Pour copier la GPO d'un domaine à un autre : il faut créer une GPO vide, exporter les paramètres de la GPO que l'on veut dupliquer et les réimporter dans la nouvelle GPO, pas très intuitif comme procédure.

Pour créer une version de test d'une GPO à partir d'une GPO existante, c'est également intéressant de pouvoir dupliquer une GPO.

Voyons comment copier une stratégie de groupe.

II. Copy-GPO : copier ou dupliquer une GPO

Le cmdlet Copy-GPO, comme son nom l'indique, va permettre de réaliser une copie d'une GPO, et en plus très facilement ! De façon basique, il suffit de préciser la GPO source et la GPO destination (qui sera créée lors de la copie, ce n'est pas utile de créer l'objet avant).

Par exemple, pour copier la GPO "C_WSUS_Config" et créer une copie qui s'appelle "C_WSUS_Config_TEST", on utilisera cette commande :

Copy-GPO -SourceName C_WSUS_Config -TargetName C_WSUS_Config_TEST

Ce qui donne :

Si l'on regarde dans la console GPMC, la nouvelle GPO est bien là et elle contient exactement les mêmes paramètres ?

Avec la commande précédente, les ACL, c'est-à-dire les droits sur la GPO ne sont pas conservés, cela concerne notamment le filtrage de sécurité et la délégation. Si l'on veut conserver les ACL lors de la copie, il faut préciser le paramètre -CopyAcl, comme ceci :

Copy-GPO -SourceName C_WSUS_Config -TargetName C_WSUS_Config_TEST -CopyAcl

Attention : il est possible de récupérer les ACL lorsque l'on copie une GPO, mais les liaisons ne sont pas récupérées, il faudra les recréer.

Copier une GPO au sein d'un même domaine ce n'est pas plus compliqué, c'est la bonne nouvelle ! Avant de se quitter, voyons d'autres usages possibles de Copy-GPO...

III. Autres usages de Copy-GPO

Ce cmdlet est puissant et fort utile en phase de migration ou pour déployer des GPO dans plusieurs domaines. En effet, il va permettre de copier une GPO d'un domaine A vers un domaine B. Reprenons l'exemple précédent, sauf que cette fois-ci, nous allons copier la GPO "C_WSUS_Config" du domaine "it-connect.local" vers "it-connect.net", en conservant le même nom. Cela donne :

Copy-GPO -SourceName "C_WSUS_Config" -SourceDomain "it-connect.local" -TargetName "C_WSUS_Config" -TargetDomain "it-connect.net"

Pour spécifier le DC source à utiliser et le DC de destination, il y a deux paramètres qui peuvent être utilisés : -SourceDomainController et -TargetDomainController.

Autre chose intéressante, c'est la possibilité de copier toutes les GPO d'un domaine vers un autre. Pour cela, on va récupérer la liste de toutes les GPO via "Get-GPO -All" et on va créer une boucle pour copier chaque objet GPO retourné, il suffit de reprendre l'exemple précédent pour copier d'un domaine A vers un domaine B. Voici la commande correspondante :

Get-GPO -All -Domain "it-connect.local" | ForEach-Object {$_ | Copy-GPO -TargetName ($_.DisplayName) -TargetDomain "it-connect.net" -CopyAcl

Il est à noter que le cmdlet Copy-GPO supporte le paramètre -MigrationTable qui vous permet de spécifier le chemin vers une table de migration pour faire la correspondance entre plusieurs valeurs. Pratique, surtout pour copier une GPO d'un domaine vers un autre ?

Pour rappel, une table de migration peut être créée via l’Éditeur de table de migration accessible via GPMC.

author avatar
Florian BURNEL Co-founder of IT-Connect
Ingénieur système et réseau, cofondateur d'IT-Connect et Microsoft MVP "Cloud and Datacenter Management". Je souhaite partager mon expérience et mes découvertes au travers de mes articles. Généraliste avec une attirance particulière pour les solutions Microsoft et le scripting. Bonne lecture.
Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Envoyer par mail

1 commentaire sur “Comment copier une GPO ? La réponse avec PowerShell

  • Merci flo, j’avoue que j’avais jamais chercher en powershell et que c’est bien galere de refaire une GPO a la mano

    Répondre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.