Skip to content
Learni
View all tutorials
Administration Système

Comment gérer Active Directory avec PowerShell en 2026

Introduction

Active Directory reste le cœur de l'authentification dans les environnements Windows d'entreprise. En 2026, l'automatisation via PowerShell est indispensable pour gérer des milliers d'objets sans erreur humaine. Ce tutoriel vous guide de la connexion distante à la création de scripts d'audit et de délégation. Chaque étape inclut des scripts prêts à l'emploi et testés en production.

Prérequis

  • Windows Server 2022 ou Windows 11 avec RSAT
  • PowerShell 7.4+
  • Compte avec droits Domain Admin ou délégués
  • Module ActiveDirectory installé
  • Accès réseau au contrôleur de domaine

Installation du module AD

install-module.ps1
Install-WindowsFeature -Name RSAT-AD-PowerShell -IncludeAllSubFeature
Import-Module ActiveDirectory
Get-Module ActiveDirectory

Cette commande installe le module RSAT-AD-PowerShell et l'importe. Vérifiez toujours la version après installation pour éviter les conflits avec les anciennes versions de PowerShell.

Connexion à un domaine distant

connect-ad.ps1
$Cred = Get-Credential
$Session = New-PSSession -ComputerName DC01 -Credential $Cred
Enter-PSSession $Session
Import-Module ActiveDirectory

Utilisez des sessions PowerShell distantes pour éviter d'installer le module sur chaque poste. Cela permet une gestion centralisée et sécurisée des contrôleurs de domaine.

Création d'utilisateurs en masse

create-users.ps1
$Users = Import-Csv -Path "C:\Scripts\users.csv"
foreach ($User in $Users) {
    New-ADUser -Name $User.Name -SamAccountName $User.SamAccountName `
        -UserPrincipalName $User.UPN -Path $User.OU `
        -AccountPassword (ConvertTo-SecureString $User.Password -AsPlainText -Force) `
        -Enabled $true -ChangePasswordAtLogon $true
}

Le script lit un CSV et crée les utilisateurs dans l'OU spécifiée. Toujours valider le CSV avant exécution et utiliser -WhatIf pour tester.

Gestion avancée des groupes

manage-groups.ps1
Add-ADGroupMember -Identity "Groupe-Admin" -Members "user1","user2"
Get-ADGroupMember -Identity "Groupe-Admin" | Select Name, SamAccountName
Remove-ADGroupMember -Identity "Groupe-Admin" -Members "user1" -Confirm:$false

Ces commandes permettent d'ajouter, lister et supprimer des membres de groupe. Utilisez toujours -Confirm:$false dans les scripts automatisés pour éviter les blocages interactifs.

Audit des connexions et objets

audit-ad.ps1
Get-ADUser -Filter * -Properties LastLogonDate | Where-Object {$_.LastLogonDate -lt (Get-Date).AddDays(-90)} | Select Name, SamAccountName, LastLogonDate
Get-ADObject -Filter {ObjectClass -eq "user"} -SearchBase "OU=Utilisateurs,DC=entreprise,DC=local"

Ce script identifie les comptes inactifs depuis 90 jours. Combinez-le avec des tâches planifiées pour générer des rapports d'audit réguliers.

Bonnes pratiques

  • Toujours utiliser des sessions distantes et des credentials limités
  • Tester chaque script avec -WhatIf avant exécution réelle
  • Versionner tous les scripts dans Git
  • Limiter les droits via la délégation AD plutôt que comptes Domain Admin
  • Journaliser toutes les modifications avec Start-Transcript

Erreurs courantes à éviter

  • Oublier d'importer le module ActiveDirectory avant les commandes
  • Exécuter des requêtes sans filtre sur de gros annuaires (risque de timeout)
  • Ne pas gérer les erreurs avec try/catch dans les scripts de production
  • Utiliser des mots de passe en clair dans les fichiers CSV sans chiffrement

Pour aller plus loin

Approfondissez la délégation et les GPO dynamiques dans nos formations Learni.

Comment gérer Active Directory avec PowerShell en 2026 | Learni