Comment gérer les GPO dans PowerShell étape par étape avec des exemples pratiques

Dernière mise à jour: 28/03/2025
Auteur: Isaac
  • PowerShell vous permet de créer, lier et supprimer des GPO de manière automatisée et précise.
  • Les sauvegardes et restaurations de politiques peuvent être effectuées à l’aide de scripts réutilisables.
  • Des rapports GPO détaillés peuvent être générés dans des formats tels que HTML ou XML.
  • L’utilisation de PowerShell rationalise les tâches répétitives de gestion des stratégies dans AD DS.

Gestion des GPO avec PowerShell

La gestion des objets de stratégie de groupe (GPO) en entreprise est essentielle pour garantir la sécurité et l'homogénéité des configurations des ordinateurs et des utilisateurs au sein d'Active Directory. Si l'interface graphique propose de nombreux outils, PowerShell se révèle une alternative puissante, polyvalente et automatisable pour gérer tous les aspects liés aux GPO, de leur création à leur suppression. Pour en savoir plus sur l'optimisation de ces tâches, consultez la documentation relative à la gestion des GPO avec PowerShell.

Cet article vous montre comment utiliser PowerShell pour gérer vos stratégies de groupe de manière détaillée et professionnelle, avec des commandes pratiques , des exemples, des recommandations, des bonnes pratiques et tout ce que vous devez savoir pour tirer le meilleur parti de ces fonctionnalités.

Premiers pas : configuration de PowerShell pour gérer les objets de stratégie de groupe

Avant d'exécuter des commandes, il est indispensable d'importer les modules nécessaires à l'utilisation d'Active Directory et des GPO . PowerShell, en tant que framework d'automatisation, requiert la présence de ces modules sur le système.

  • Module d'importation ActiveDirectory: Active toutes les fonctionnalités d'interaction avec les objets AD.
  • Stratégie de groupe du module d'importation: vous permet d'effectuer des opérations directement sur les stratégies de groupe.

Une fois chargé, vous pouvez lister toutes les applets de commande disponibles à partir du module GroupPolicy avec :

Get-Command – Module GroupPolicy

Cette commande vous donnera un aperçu de toutes les actions possibles sur les GPO à l’aide de PowerShell.

Interroger les GPO existants dans le domaine

Objet de stratégie de groupe PowerShell

L'une des premières étapes courantes consiste à visualiser les politiques configurées dans l'environnement . Pour ce faire, vous pouvez utiliser la commande suivante :

Get-GPO -Domaine domain.name -Tous

Où domain.name doit être remplacé par votre domaine réel, par exemple : company.local.

  Correction d’une erreur Bluetooth qui ne fonctionne pas dans Windows 11

Cette applet de commande répertorie tous les objets de stratégie de groupe existants et peut être complétée par d’autres filtres pour affiner les recherches.

Créer un nouveau GPO à partir de zéro

PowerShell vous permet de créer de nouvelles stratégies vierges , ce qui est très utile lorsque vous devez appliquer des configurations spécifiques à partir de zéro :

New-GPO -Name "Nom du GPO" -Comment "Commentaire descriptif"

Cette commande crée la structure GPO sans aucun lien ni paramètre appliqué. C'est le point de départ pour le développer de manière personnalisée.

Lier un GPO à une unité organisationnelle (UO)

Une fois la GPO créée, elle doit être affectée à une unité d'organisation (UO) ou à un domaine pour être effective . Pour ce faire, utilisez la commande suivante :

New-GPLink -Nom « GPOName » -Cible « ou=OUname,dc=company,dc=local »

L' argument -Target doit contenir le nom distinctif (DN) exact de l'unité organisationnelle (OU).

Lien GPO vers l'unité organisationnelle

Dissocier ou désactiver un GPO sans le supprimer

Dans certains cas, il peut être utile de désactiver temporairement une politique sans la supprimer , que ce soit à des fins de test ou en raison de changements organisationnels :

Set-GPLink -Nom « GPOName » -Cible « ou=OUname,dc=company,dc=local » -LinkEnabled Non

Cette méthode désactive l’application sans supprimer la relation entre GPO et OU.

Supprimer complètement un GPO

Si une stratégie n'est plus utilisée ou provoque des conflits, vous pouvez la supprimer définitivement avec la commande suivante :

Supprimer-GPO -Nom "GPOName" -Domaine "company.local"

Vous pouvez également utiliser son identifiant GUID si vous disposez de son code unique :

Supprimer-GPO -Guid « xxxxxxxxx-xxxx-xxxx-xxxxxxxxxx »

Sauvegarder des GPO individuels ou globaux

L'un des principaux avantages de l'utilisation de PowerShell est la possibilité d' automatiser facilement les sauvegardes des GPO :

Sauvegarde-GPO -Nom « GPOName » -Chemin « C:\Sauvegardes\GPOs »

Ou si vous souhaitez sauvegarder toutes les politiques de votre domaine :

Sauvegarde-GPO -Tout -Chemin « C:\Sauvegardes\GPO »

Vous pouvez également ajouter des commentaires pour identifier facilement chaque sauvegarde :

Sauvegarde-GPO -Nom « GPOName » -Chemin « C:\Sauvegardes » -Commentaire « Sauvegarde d'avril 2024 »

Sauvegarder les GPO avec PowerShell

Restaurer une politique à partir d'une sauvegarde

Si vous avez effectué une sauvegarde par le passé, vous pouvez la restaurer en cas de besoin à l'aide de la commande :

Restaurer-GPO -Nom « GPOName » -Chemin « C:\Backups\GPOs » -Commentaire « Sauvegarde d'avril 2024 »

La restauration est rapide et fonctionnelle, idéale en cas de pannes ou de modifications indésirables.

  Comment activer la virtualisation à partir du BIOS ou de l'UEFI étape par étape

Forcer la mise à jour des GPO

Il arrive que les changements de politique mettent du temps à se répercuter ou ne soient pas mis en œuvre comme prévu. Dans ce cas, vous pouvez forcer leur mise en œuvre avec :

Appel-GPUpdate

Si vous devez effectuer cette opération sur un ordinateur distant :

Invoke-GPUpdate -Computer "domaine\ordinateur"

Vous pouvez également restreindre cette action aux seuls utilisateurs ou ordinateurs utilisant :

  • -Utilisateur cible
  • -Ordinateur cible

Et si vous souhaitez mettre à jour toutes les politiques d'une unité organisationnelle entière , vous pouvez utiliser un script d'une seule ligne :

Get-ADComputer –Filter * -SearchBase « ou=ventes,dc=entreprise,dc=local » | foreach { Invoke-GPUpdate –Ordinateur $_.Name -Force }

Déployer des scripts PowerShell via GPO

Outre la gestion des GPO elles-mêmes, PowerShell permet également d'utiliser un script personnalisé pour le contenu d'une stratégie , par exemple pour des tâches telles que :

  • Mappage automatique des lecteurs réseau.
  • Affectation de l'imprimante.
  • Sauvegardes.
  • Installation de programmes.

Un exemple de ligne pour monter un lecteur serait :

New-PSDrive –Nom « P » –PSProvider FileSystem –Racine « \\Server\Shared » –Persist

Ce script peut être ajouté à une GPO via la section Connexion utilisateur.

Désactiver PowerShell via GPO

Dans les environnements où la sécurité est un facteur clé, vous pourriez avoir besoin de bloquer l'accès à PowerShell pour certains utilisateurs via des stratégies, notamment si cela concerne des terminaux partagés ou des postes de travail critiques :

  1. Créez un nouvel objet de stratégie de groupe à partir de la console de stratégie de groupe.
  2. Aller à Configuration utilisateur > Stratégies > Modèles d'administration > Système.
  3. Permettre Ne pas exécuter d'applications Fenêtres spécifié.
  4. Ajouter powershell.exe y powershell_ise.exe à la liste.

Cela empêchera les utilisateurs auxquels cet objet de stratégie de groupe est appliqué d’exécuter PowerShell, même manuellement.

Obtenez des rapports détaillés pour un ou plusieurs GPO

Pour la documentation, l'audit ou la détection d'erreurs, PowerShell vous permet de générer des rapports HTML ou XML contenant toute la configuration et les liens d'une GPO spécifique :

Get-GPOReport -Name "Nom de l'objet GPO" -ReportType HTML -Path "C:\Reports\GPO\report.html"

Si vous préférez effectuer cette opération sur tous les GPO du domaine, vous pouvez utiliser :

Get-GPOReport -All -ReportType HTML -Path « C:\Reports\GPO\todo.html »

Rapport HTML GPO

Ces rapports incluent des liens, des filtres WMI le cas échéant, des paramètres utilisateur et ordinateur, des délégations, entre autres.

  Découvrez comment définir la précision de l'arrondi dans Excel

PowerShell est un outil indispensable pour les administrateurs système modernes qui souhaitent automatiser leurs tâches, gagner du temps, éviter les erreurs manuelles et documenter correctement leurs actions . Qu'il s'agisse de créer de nouvelles stratégies, d'appliquer des scripts, de générer des sauvegardes ou de forcer des mises à jour, son intégration avec Active Directory en fait un pilier essentiel des réseaux d'entreprise. Grâce aux exemples et explications présentés ici, vous êtes parfaitement préparé à maîtriser la gestion des GPO avec PowerShell.

[url associée=»https://mundobytes.com/comment-puis-je-telecharger-gpedit-msc-windows-7/»]