Lister des utilisateurs d'un OU qui se trouve à l'intérieur d'autres OU
Utilisateur anonyme
-
unfamous Messages postés 8 Date d'inscription Statut Membre Dernière intervention -
unfamous Messages postés 8 Date d'inscription Statut Membre Dernière intervention -
Bonjour all,
Je souhaiterais savoir comment lister des utilisateurs ou les OU qui font partie d'un OU parent... J'ai cherché sur internet mais j'ai rien trouvé, pourtant la demande est assez simple. ;(
J'aimerais par exemple faire des listes de l'OU CAF qui se trouve dans l'OU FR qui lui même se trouve dans l'OU Countries.
Donc en gros ça fait : Countries\FR\CAF
Soucis c'est que lorsque je fais un -SearchBase il va n'accepter que l'OU parent (Countries), si je mets FR ou CAF il va me dire que la commande Get-ADusers ou Get-ADOrganizationalUnit : Directory object not found
Avec ce code il va me sortir les OU (ou les utilisateurs si je mets Get-ADusers) de l'AD entier *outch*
Quelqu'un aurait l'astuce ? :(
Merci d'avance.
Je souhaiterais savoir comment lister des utilisateurs ou les OU qui font partie d'un OU parent... J'ai cherché sur internet mais j'ai rien trouvé, pourtant la demande est assez simple. ;(
J'aimerais par exemple faire des listes de l'OU CAF qui se trouve dans l'OU FR qui lui même se trouve dans l'OU Countries.
Donc en gros ça fait : Countries\FR\CAF
Soucis c'est que lorsque je fais un -SearchBase il va n'accepter que l'OU parent (Countries), si je mets FR ou CAF il va me dire que la commande Get-ADusers ou Get-ADOrganizationalUnit : Directory object not found
Get-ADOrganizationalUnit -LDAPFilter '(name=*)' -SearchBase 'OU=Countries,DC=EMEA,DC=LOREAL,DC=INTRA' -SearchScope Subtree | Format-Table Name
Avec ce code il va me sortir les OU (ou les utilisateurs si je mets Get-ADusers) de l'AD entier *outch*
Quelqu'un aurait l'astuce ? :(
Merci d'avance.
A voir également:
- Lister les membres d'un groupe ad powershell
- Comment créer un groupe whatsapp - Guide
- Sous groupe whatsapp - Accueil - WhatsApp
- Créer un groupe facebook - Guide
- Liste groupe whatsapp - Guide
- Lister les disques cmd - Guide
1 réponse
Simplement avec un filtre comme ceci :
-SearchBase 'OU=CAF,OU=FR,OU=Countries,DC=EMEA,DC=LOREAL,DC=INTRA'
Et tu peux enlever le -searchscope.
Tu peux aussi faire un array des OU enfants que tu souhaites extraires (peut importe leur niveau dans le tree):
$ous = @("PIF","PAF","POUF")
foreach($ou in $ous){
Get-ADOrganizationalUnit -Filter * -SearchBase 'OU=Countries,DC=EMEA,DC=LOREAL,DC=INTRA' | Where{$_.distinguishedname -like "OU=$ou,*"}
}
-SearchBase 'OU=CAF,OU=FR,OU=Countries,DC=EMEA,DC=LOREAL,DC=INTRA'
Et tu peux enlever le -searchscope.
Tu peux aussi faire un array des OU enfants que tu souhaites extraires (peut importe leur niveau dans le tree):
$ous = @("PIF","PAF","POUF")
foreach($ou in $ous){
Get-ADOrganizationalUnit -Filter * -SearchBase 'OU=Countries,DC=EMEA,DC=LOREAL,DC=INTRA' | Where{$_.distinguishedname -like "OU=$ou,*"}
}
J'essaierai le script merci beaucoup :D
Comment je fais pour exporter tout ça sur un excel ? J'ai tenté un export-csv mais il est vide ;(
En grand merci à unfamous
Solution 1: Tu pipe la fonction export-csv à la fonction get-aduser.
Get-ADUser -Filter * -SearchBase 'OU=Countries,DC=EMEA,DC=LOREAL,DC=INTRA' | Where{$_.distinguishedname -like "OU=$ou,*"} | export-csv C:\temp\test.csv -NoTypeInformation -Encoding Default
Solution 2: Tu pipe un tableau d'objet à la fonction export-csv
$resultat = @()
$properties = @{}
$users = Get-ADUser -Filter * -SearchBase 'OU=Countries,DC=EMEA,DC=LOREAL,DC=INTRA' Where{$_.distinguishedname -like "OU=$ou,*"}
foreach($user in $users){
$properties = [PSCustomObject]@{
Username = $user.name
Nom = $user.surname
Prénom = $user.GivenName
Mail = $user.mail
}
$resultat += $properties
$properties = $null
}
$resultat | export-csv C:\Temp\res.csv -notypeinformation -encoding Default
Avec le 2ème exemple tu peux sélectionner tes colonne du CSV avec toutes les informations dont tu as besoin, tu peux reprendre n'importe quelle valeur dans la boucle et la transformée, c'est la solution idéale ou tu maîtrise facilement l'information que tu veux exporter.
Imagine que dans ta valeur properties tu souhaites savoir la date du jour, tu déclare simplement une valeur $today = [datetime]::Today.ToString('yyyy.MM.dd') en début de script et tu le reprends dans properties:
$properties = [PSCustomObject]@{
Username = $user.name
Nom = $user.surname
Prénom = $user.GivenName
Mail = $user.mail
DateExtraction = $today
}
Je vais étudier ça merci ! :D