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

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:

1 réponse

unfamous Messages postés 8 Date d'inscription   Statut Membre Dernière intervention   1
 
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,*"}

}
1
Utilisateur anonyme
 
Aaah ça marche, je crois que c'est parce qu'il fallait aussi mettre les OU dans le sens inverse

J'essaierai le script merci beaucoup :D
0
Utilisateur anonyme
 
J'ai testé pour des utilisateurs c'est génial ça marche aussi !

Comment je fais pour exporter tout ça sur un excel ? J'ai tenté un export-csv mais il est vide ;(
0
Utilisateur anonyme > Utilisateur anonyme
 
Ok je l'avais simplement mis au mauvais endroit du coup pour ceux qui plus tard on ce problème ça donne au final ça :

$ous = @("PIF","PAF","POUF")

foreach($ou in $ous){Get-ADUser -Filter * -SearchBase 'OU=CAF,OU=RouteW10,OU=Utilisateurs,OU=DPGPF,OU=FR,OU=Countries,DC=EMEA,DC=LOREAL,DC=INTRA' | Export-Csv -Path C:\Users\$env:username\Desktop\ADuserlol.csv | Format-Table Name, Surname, UserPrincipalName, GivenName, Enabled, SamAccountName} Where{$_.distinguishedname -like "OU=$ou,*"}





En grand merci à unfamous
0
unfamous Messages postés 8 Date d'inscription   Statut Membre Dernière intervention   1
 
Déjà que souhaites tu exporter exactement ? Des users, des OU, des OU + des users ?

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
}
0
Utilisateur anonyme > unfamous Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
 
Je veux exporter des users.

Je vais étudier ça merci ! :D
0