Active Directory : Supprimer les ordinateurs d’une OU en PowerShell
mercredi 28 janvier 2015 à 12:55I. Présentation
Dans un annuaire Active Directory, les objets (utilisateurs, groupes, ordinateurs, etc.) sont organisés par Unités d’Organisation (Organizational Unit, OU, UO). Ainsi, dans une unité d’organisation on peut retrouver un grand nombre d’ordinateurs enregistrés comme faisant partie du domaine.
Si vous avez besoin de supprimer les ordinateurs contenus dans une OU, via un script (notamment pour de l’automatisation), vous pouvez effectuer cette tâche grâce à PowerShell. C’est ce que nous allons voir dans ce tutoriel, une astuce simple mais pratique quand le cas se présente.
Pour ma part : Un contrôleur de domaine sous Windows Server 2012 R2, pour le domaine it-connect.fr, avec une unité d’organisation nommée “Formation” et qu’il est nécessaire de purger au niveau des objets ordinateurs (elle contient aussi des utilisateurs). Le chemin LDAP de l’OU est :
OU=Formation,DC=it-connect,DC=fr
II. Code PowerShell
Pour effectuer l’opération, on va s’appuyer sur deux commandlets PowerShell :
- Get-ADComputer : Lister les objets ordinateurs de l’Active Directory
- Remove-ADComputer : Supprimer des objets de type ordinateur dans l’Active Directory
Ainsi, nous allons concaténer l’utilisation de ces deux commandes pour obtenir la liste des ordinateurs présent dans une OU en particulier, puis, pour chaque objet nous effectuerons une action de suppression.
Ceci se traduit par la commande suivante :
Get-ADComputer -SearchBase "OU=Formation,DC=it-connect,DC=fr" -Filter * | Remove-ADComputer -confirm:$false
Dans un premier temps, je vous conseil d’exécuter uniquement la première partie de la commande, à savoir :
Get-ADComputer -SearchBase "OU=Formation,DC=it-connect,DC=fr" -Filter *
Ceci permettra de lister les ordinateurs sans effectuer d’action, dans le but de s’assurer que les ordinateurs qui sont présents dans le résultat de cette commande sont bien ceux que le souhaitent supprimer.
Une fois la vérification effectuée, la commande de suppression peut être exécutée plus sereinement.