17/11/2024

PowerShell

Active Directory : Supprimer les ordinateurs d’une OU en PowerShell

I. 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

psdel1

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.

psdel2

Une fois la vérification effectuée, la commande de suppression peut être exécutée plus sereinement.

psdel3

author avatar
Florian BURNEL Co-founder of IT-Connect
Ingénieur système et réseau, cofondateur d'IT-Connect et Microsoft MVP "Cloud and Datacenter Management". Je souhaite partager mon expérience et mes découvertes au travers de mes articles. Généraliste avec une attirance particulière pour les solutions Microsoft et le scripting. Bonne lecture.
Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Envoyer par mail

2 commentaires sur “Active Directory : Supprimer les ordinateurs d’une OU en PowerShell

  • Je trouve généreux de votre part de partager vos connaissances dans ce domaine au moment ou beaucoup font encore cela un sujet tabou. Je vous suis très reconnaissant.
    Comment vous joindre en privé?

    Répondre
  • bonjour Florian,
    je vous remercie pour votre générosité et aide
    je voudrai exécuter une commande afin de nettoyer ma liste des Ordinateurs inactifs, j’ai une longue liste contenant des ordinateurs fonctionnels mais aussi d’autres (beaucoup) ,ce sont surement des doublons créés après avoir renommer des ordinateurs dans mon réseau
    merci de m’aider

    Répondre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.