1 novembre 2026
Logo Windows

Mettre en place une délégation d’administration AD avec PowerShell

Mettre en place une délégation d’administration AD avec PowerShellwindows
Photo: Jan van der Wolf / Pexels
🖥️ Illustration
PowerShell – Délégation AD
PS C:\> New-ADGroup -Name « OU_Finance_Admins » -GroupScope Global -GroupCategory Security -Path « OU=Groups,DC=contoso,DC=com »
Command completed successfully.
PS C:\> Add-ADGroupMember -Identity « OU_Finance_Admins » -Members « jdupont », »mlefevre »
Command completed successfully.
PS C:\> $ou = « OU=Finance,DC=contoso,DC=com »
PS C:\> $group = Get-ADGroup « OU_Finance_Admins »
PS C:\> # délégation appliquée…
PS C:\> Get-ACL -Path « AD:$ou » | Format-List
AccessControlType : Allow
IdentityReference : CONTOSO\OU_Finance_Admins
ActiveDirectoryRights : CreateChild, DeleteChild, WriteProperty

Contexte

Dans une infrastructure Active Directory (AD), il est fréquent de devoir confier la gestion de certaines unités d’organisation (OU) à des équipes ou des techniciens sans leur donner les droits d’administration complets du domaine. La délégation d’administration permet de restreindre les permissions au strict nécessaire, améliorant ainsi la sécurité et la conformité.

delegation AD powershellwindows
Photo: panumas nikhomkhai / Pexels

Quand l’utiliser ?

  • Vous avez plusieurs équipes support qui gèrent des départements distincts.
  • Vous souhaitez éviter que les administrateurs de niveau 1 puissent modifier les objets hors de leur périmètre.
  • Vous devez auditer les droits d’administration de façon granulaire.

🔹 Étapes de mise en œuvre

  1. Créer un groupe de sécurité dédié

    New-ADGroup -Name "OU_Finance_Admins" -GroupScope Global -GroupCategory Security -Path "OU=Groups,DC=contoso,DC=com"
  2. Ajouter les utilisateurs au groupe

    Add-ADGroupMember -Identity "OU_Finance_Admins" -Members "jdupont","mlefevre"
  3. Définir les droits de délégation sur l’OU cible

    $ou = "OU=Finance,DC=contoso,DC=com"
    $group = Get-ADGroup "OU_Finance_Admins"
    $rights = @("CreateChild","DeleteChild","ReadProperty","WriteProperty","GenericAll")
    foreach ($right in $rights) {
        $adRight = New-Object System.DirectoryServices.ActiveDirectoryAccessRule(
            $group.SID,
            [System.DirectoryServices.ActiveDirectoryRights]::$right,
            [System.Security.AccessControl.AccessControlType]::Allow,
            [System.DirectoryServices.ActiveDirectorySecurityInheritance]::All
        )
        Set-ACL -Path "AD:$ou" -AclObject $adRight
    }
  4. Vérifier la délégation

    Get-ACL -Path "AD:$ou" | Format-List
  5. Tester avec un compte délégué

    # Ouvrir une session PowerShell avec le compte jdupont
    Enter-PSSession -ComputerName srv-ad01 -Credential (Get-Credential)
    # Tenter de créer un compte dans l’OU Finance
    New-ADUser -Name "TestUser" -SamAccountName "tuser" -Path $ou -Enabled $false

⚠️ Méthode alternative

Il est possible d’utiliser l’assistant graphique “Delegation of Control Wizard” depuis Active Directory Users and Computers (dsa.msc). Cette approche convient aux petites modifications ponctuelles, mais PowerShell garantit la reproductibilité et la traçabilité via le versionning des scripts.

⚠️ Bonnes pratiques de sécurité

  • Utilisez des groupes globaux pour la délégation afin de simplifier la gestion des membres.
  • Limitez les droits au strict nécessaire : évitez GenericAll si vous n’avez besoin que de créer et supprimer des objets.
  • Documentez chaque délégation dans un fichier de suivi (ex. delegation_log.md).
  • Activez l’audit d’accès aux objets AD (Audit Directory Service Access) pour détecter les abus.
  • Revoyez régulièrement les membres des groupes de délégation.

✅ Conclusion

La délégation d’administration AD via PowerShell vous permet d’automatiser un processus souvent fastidieux, tout en conservant un haut niveau de contrôle et de traçabilité. En appliquant les bonnes pratiques présentées, vous réduisez les risques de privilèges excessifs et facilitez la gouvernance de votre annuaire.

Laisser un commentaire

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