Quantcast
Channel: Tutoriels Active Directory | IT-Connect
Viewing all articles
Browse latest Browse all 116

Active Directory – PowerShell : récupérer la liste des utilisateurs de plusieurs OU

$
0
0

I. Présentation

La flexibilité de PowerShell s'avère très pratique lorsqu'il s'agit d'interroger un annuaire Active Directory. Notamment si l'on souhaite récupérer la liste des utilisateurs (ou d'un autre type d'objets) au sein de plusieurs OU, sans prendre tout l'annuaire.

Grâce à un script PowerShell simple, nous allons pouvoir générer facilement cette liste d'utilisateurs sans passer par des exports multiples dans la console Active Directory, qu'il faudra ensuite fusionner... Bref, pas pratique.

II. Le script

La première étape consiste à définir un tableau qui va servir à lister les OU pour lesquelles nous souhaitons récupérer les utilisateurs. Dans la variable $OUList sera stocké le tableau. Par exemple, pour 4 OU différentes, cela donne :

$OUList = @("OU=Comptabilite,DC=it-connect,DC=local", 
            "OU=Secretariat,DC=it-connect,DC=local", 
            "OU=Direction,DC=it-connect,DC=local", 
            "OU=Commercial,DC=it-connect,DC=local")

La suite est simple : pour chaque OU du tableau, nous allons récupérer la liste des utilisateurs grâce à Get-ADUser qui sera utilisé avec le paramètre SearchBase qui aura notre OU comme valeur. Ainsi, on récupère que les utilisateurs de l'OU, et cela pour nos 4 OU. Dans cet exemple, je sélectionne uniquement le SamAccountName mais vous pouvez ajouter d'autres propriétés.

Ce qui donne le script complet suivant :

$OUList = @("OU=Comptabilite,DC=it-connect,DC=local",
            "OU=Secretariat,DC=it-connect,DC=local",
            "OU=Direction,DC=it-connect,DC=local",
            "OU=Commercial,DC=it-connect,DC=local")

$Users = Foreach($OU in $OUList){

    Get-ADUser -Filter * -SearchBase $OU | Select-Object SamAccountName

}

$Users | Export-CSV -Path "C:\Users.csv" -NoTypeInformation

La variable $Users contient tous les utilisateurs, nous pouvons facilement l'exporter vers un fichier CSV grâce au cmdlet Export-CSV comme vous pouvez le voir sur la dernière ligne du script ci-dessus.

Voilà, simple mais efficace, non ? 👀


Viewing all articles
Browse latest Browse all 116

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>