
Dans les environnements Windows Server, la gestion des groupes de sécurité Active Directory (AD) est une tâche quotidienne pour les administrateurs. Utiliser PowerShell permet d’automatiser ces opérations, d’éviter les erreurs manuelles et de gagner du temps.
Contexte
Vous devez mettre en place un nouveau groupe de sécurité pour une application métier, attribuer des membres et appliquer des permissions sur des partages de fichiers. Vous souhaitez le faire rapidement depuis la console PowerShell, sans passer par l’interface graphique.

Quand l’utiliser
- Déploiement d’une nouvelle application nécessitant un groupe dédié.
- Gestion de masse des membres (ajout ou retrait de plusieurs utilisateurs).
- Automatisation dans des scripts de déploiement ou d’intégration continue.
🔹 Étapes détaillées
- Ouvrir une console PowerShell avec les droits d’administrateur du domaine.
- Importer le module ActiveDirectory (si ce n’est pas déjà fait).
- Créer le groupe de sécurité. Remplacez
NomDuGroupeetDescription du groupepar vos valeurs. - Ajouter des membres au groupe. Vous pouvez ajouter plusieurs utilisateurs en une seule commande.
- Vérifier le contenu du groupe.
- Attribuer des permissions sur un partage de fichiers. Exemple : donner le droit de modification sur
\\srvfiles\partage. - Modifier les propriétés du groupe (exemple : changer la description).
- Supprimer le groupe (en cas de besoin). Attention, cette action est irréversible.
Start-Process powershell -Verb RunAs
Import-Module ActiveDirectory
New-ADGroup -Name "NomDuGroupe" `
-SamAccountName "NomDuGroupe" `
-GroupScope Global `
-GroupCategory Security `
-Description "Description du groupe" `
-Path "OU=Groupes,DC=exemple,DC=local"
Add-ADGroupMember -Identity "NomDuGroupe" -Members "user1","user2","user3"
Get-ADGroupMember -Identity "NomDuGroupe" | Select-Object Name, SamAccountName
$acl = Get-Acl "\\srvfiles\partage"
$identity = "EXEMPLE\NomDuGroupe"
$accessRule = New-Object System.Security.AccessControl.FileSystemAccessRule($identity,"Modify","ContainerInherit,ObjectInherit","None","Allow")
$acl.SetAccessRule($accessRule)
Set-Acl -Path "\\srvfiles\partage" -AclObject $acl
Set-ADGroup -Identity "NomDuGroupe" -Description "Nouvelle description"
Remove-ADGroup -Identity "NomDuGroupe" -Confirm:$false
🔧 Méthode alternative
Si vous ne disposez pas du module ActiveDirectory (par ex. sur un serveur qui n’est pas contrôleur de domaine), vous pouvez utiliser les cmdlets du module Microsoft.DirectoryServices.Protocols ou bien recourir à dsadd en ligne de commande :
dsadd group "CN=NomDuGroupe,OU=Groupes,DC=exemple,DC=local" -secgrp yes -desc "Description du groupe"
Cette approche est moins flexible que PowerShell mais fonctionne sur toutes les versions de Windows depuis Windows 2000.
⚠️ Bonnes pratiques de sécurité
- Utilisez des groupes Globaux pour les comptes utilisateurs du même domaine et des groupes Universels uniquement si vous avez plusieurs forêts AD.
- Appliquez le principe du moindre privilège : ne donnez que les droits nécessaires (ex.
Readplutôt queModifysi possible). - Documentez chaque création de groupe dans un ticket ou un Change Management afin de garder trace des raisons et des propriétaires.
- Activez l’audit des modifications AD (police
Audit Directory Service Access) pour détecter les changements non autorisés. - Utilisez des comptes de service dédiés avec des droits limités pour exécuter les scripts d’automatisation.
✅ Conclusion
PowerShell offre un moyen rapide, fiable et scriptable pour créer et gérer des groupes de sécurité Active Directory. En suivant les étapes présentées, vous pouvez automatiser les tâches récurrentes, garantir la conformité aux politiques de sécurité et réduire les risques d’erreurs humaines. N’oubliez pas d’appliquer les bonnes pratiques de sécurisation et de conserver une traçabilité adéquate.
