J’ai récemment eu besoin de créer un peu plus de 1 200 Organizational Unit dans un domain Active Directory pour un besoin bien particulier. Evidemment, lorsqu’il s’agit d’un volume pareil, il est exclu de réaliser l’action à la main.
Création de 1 230 OU en PowerShell
J’ai donc utilisé les quelques lignes PowerShell suivantes pour créer ces OU automatiquement au sein de mon arborescence :
$var = Import-Csv "C:\Users\login\Desktop\OU-name.csv"
foreach ($item in $var)
{
New-ADOrganizationalUnit -Name $item.OUNAme -Path "OU=OUTEST,DC=akril,DC=cloud"
Write-Host "Creation de l'OU : " $item.OUNAme
}
Dans mon cas, les noms des OU à créer se trouvaient dans un fichier CSV basique à 1 colonne. 🙂
Suppression des OU en PowerShell
Ce que j’ai oublié c’est que par défaut la sécurité s’est activée par défaut pour l’ensemble des OU. Je ne pouvais donc plus supprimer l’OU parente en espérant supprimer toutes les sous-OU.
Dans ce cas, il est également exclu de supprimer toutes ces OU manuellement. Mais pour pouvoir les supprimer il faut d’abord retirer la protection sur toutes les OU.
Pour réaliser ces 2 actions automatiquement en PowerShell, j’ai utilisé la ligne suivante :
(Get-ADOrganizationalUnit -LDAPFilter '(name=*)' -SearchBase 'OU=ÒUTEST,DC=akril,DC=cloud' -SearchScope OneLevel) | Set-ADObject -ProtectedFromAccidentalDeletion:$false -PassThru | Remove-ADOrganizationalUnit -Confirm
Après quelques secondes, mes 1230 OU ont été dé-protégées puis supprimées. 🙂