Lister les unités d'organisation
Ce guide vous montre comment lister et récupérer des informations sur les unités d'organisation dans Active Directory avec PowerShell.
Lister les unités d'organisation
Résumé des commandes
# Lister toutes les unités d'organisation
Get-ADOrganizationalUnit -Filter *
# Lister les unités d'organisation avec des critères spécifiques
Get-ADOrganizationalUnit -Filter {Name -like "*IT*"}
Get-ADOrganizationalUnit -Filter {ProtectedFromAccidentalDeletion -eq $true}
# Récupérer des informations détaillées sur une unité d'organisation
Get-ADOrganizationalUnit -Identity "OU=IT,DC=lab,DC=lan" -Properties *
# Lister les unités d'organisation dans une OU spécifique
Get-ADOrganizationalUnit -Filter * -SearchBase "OU=Departements,DC=lab,DC=lan"
# Compter les unités d'organisation
(Get-ADOrganizationalUnit -Filter *).Count
# Exporter la liste des unités d'organisation dans un fichier CSV
Get-ADOrganizationalUnit -Filter * | Export-Csv -Path "C:\OUs.csv" -NoTypeInformation
Explications détaillées
1. Lister toutes les unités d'organisation
La commande Get-ADOrganizationalUnit -Filter *
retourne toutes les unités d'organisation dans Active Directory. C'est la commande de base pour commencer à travailler avec les OUs.
2. Filtrer les unités d'organisation
Vous pouvez utiliser différents critères de filtrage :
- Par nom :
Get-ADOrganizationalUnit -Filter {Name -like "*IT*"}
- Par protection contre la suppression accidentelle :
Get-ADOrganizationalUnit -Filter {ProtectedFromAccidentalDeletion -eq $true}
3. Récupérer des informations détaillées
Pour obtenir toutes les propriétés d'une unité d'organisation spécifique :
Get-ADOrganizationalUnit -Identity "OU=IT,DC=lab,DC=lan" -Properties *
4. Rechercher dans une OU spécifique
Pour lister les unités d'organisation dans une unité d'organisation particulière :
Get-ADOrganizationalUnit -Filter * -SearchBase "OU=Departements,DC=lab,DC=lan"
5. Compter les unités d'organisation
Pour obtenir le nombre total d'unités d'organisation :
(Get-ADOrganizationalUnit -Filter *).Count
6. Exporter les données
Pour sauvegarder la liste des unités d'organisation dans un fichier CSV :
Get-ADOrganizationalUnit -Filter * | Export-Csv -Path "C:\OUs.csv" -NoTypeInformation
Exemple pratique
Voici un script complet qui combine plusieurs de ces commandes :
# Créer un rapport sur les unités d'organisation
$Rapport = @()
# Récupérer toutes les unités d'organisation
$OUs = Get-ADOrganizationalUnit -Filter * -Properties ProtectedFromAccidentalDeletion, Created, Modified
foreach ($OU in $OUs) {
$Info = [PSCustomObject]@{
Nom = $OU.Name
Chemin = $OU.DistinguishedName
Protégée = if ($OU.ProtectedFromAccidentalDeletion) { "Oui" } else { "Non" }
Créée = $OU.Created
Modifiée = $OU.Modified
}
$Rapport += $Info
}
# Exporter le rapport
$Rapport | Export-Csv -Path "C:\RapportOUs.csv" -NoTypeInformation
Ce script crée un rapport détaillé incluant :
- Le nom de l'unité d'organisation
- Le chemin complet
- L'état de protection contre la suppression accidentelle
- La date de création
- La date de dernière modification