Export et rapports AD
L'un des cas d'usage les plus fréquents en entreprise : générer des rapports AD pour les audits de sécurité, les départs d'employés, ou les inventaires de comptes. PowerShell rend ces tâches reproductibles en quelques lignes.
Rapport des comptes inactifs
# Comptes non connectés depuis 60 jours (actifs uniquement)
$seuil = (Get-Date).AddDays(-60)
Get-ADUser -Filter * -Properties LastLogonDate, Department, Manager |
Where-Object { $_.Enabled -eq $true -and ($_.LastLogonDate -lt $seuil -or $null -eq $_.LastLogonDate) } |
Select-Object @{N='Nom';E={$_.Name}},
@{N='Login';E={$_.SamAccountName}},
@{N='Département';E={$_.Department}},
@{N='Dernière connexion';E={$_.LastLogonDate}} |
Export-Csv -Path C:\Audit\comptes-inactifs.csv -NoTypeInformation -Encoding UTF8
Write-Host "Rapport généré : C:\Audit\comptes-inactifs.csv"
Rapport des membres d'un groupe sensible
# Membres directs et imbriqués des Domain Admins
Get-ADGroupMember -Identity "Domain Admins" -Recursive |
Where-Object { $_.objectClass -eq 'user' } |
ForEach-Object {
Get-ADUser $_.SamAccountName -Properties LastLogonDate, Enabled
} |
Select-Object Name, SamAccountName, Enabled, LastLogonDate |
Export-Csv -Path C:\Audit\domain-admins.csv -NoTypeInformation