Question Script simple pour extraction utilisateur AD en comparaison d'une liste

Plus d'informations
il y a 1 mois 4 semaines - il y a 1 mois 4 semaines #32476 par Hab
Bonjour,

Je débute sur le Powershell. Je voudrais faire une extraction AD en fonction d'une liste CSV puis d'importer le résultat dans une nouvelle liste. Mais mon fichier CSV en sortie reste vide malgré toutes mes tentatives. J'aimerais donc savoir si quelqu'un pourrait m'expliquer mon erreur et m'aider à faire fonctionner mon script.
$CSVData = Import-CSV -Path C:\Users\admindc1\Documents\LISTE_METIERS.csv -Delimiter ";" -Encoding UTF8

Foreach ($Utilisateur in $CSVData) {

$UtilisateurNom = $Utilisateur.Nom
$UtilisateurPrenom =$Utilisateur.Prenom

    Write-Warning "l'utilisateur avec le nom $UtilisateurNom existe dans l'AD"
    $Users = Get-ADUser -Filter {GivenName -eq $UtilisateurNom -and Surname -eq $UtilisateurPrenom} -Properties "physicalDeliveryOfficeName", "Department", "GivenName", "Surname", "Mail", "TelephoneNumber", "Mobile", "Title", "homePhone" | select physicalDeliveryOfficeName, Surname, GivenName, Mail, homePhone, TelephoneNumber, Mobile, Title


$Users | Export-Csv -Path "C:\Users\admindc1\Desktop\Script_AD\Sortie_CSV\Utilisateur_annuaire.csv" -Encoding UTF8

}

Bien cordialement,
Dernière édition: il y a 1 mois 4 semaines par Hab.

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 1 mois 4 semaines #32477 par Laurent Dardenne
Salut,
même problème qu' ici .
On enregistre l'ensemble des users et pas un seul à chaque fois.

Et pour "l'utilisateur avec le nom $UtilisateurNom existe dans l'AD" ce n'est pas certains :-)

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 1 mois 4 semaines - il y a 1 mois 4 semaines #32478 par Hab
Merci, pour la réponse.

J'ai basculé mon export en dehors de ma boucle par contre ça me remplie pas mon fichier csv il reste vide.
$CSVData = Import-CSV -Path C:\Users\admindc1\Documents\LISTE_METIERS.csv -Delimiter ";" -Encoding UTF8

Foreach ($Utilisateur in $CSVData) {

$UtilisateurNom = $Utilisateur.Nom
$UtilisateurPrenom =$Utilisateur.Prenom

    $Users = Get-ADUser -Filter {GivenName -eq $UtilisateurNom -and Surname -eq $UtilisateurPrenom} -Properties "physicalDeliveryOfficeName", "Department", "GivenName", "Surname", "Mail", "TelephoneNumber", "Mobile", "Title", "homePhone" | select physicalDeliveryOfficeName, Surname, GivenName, Mail, homePhone, TelephoneNumber, Mobile, Title




}

$Users | Export-Csv -Path "C:\Users\admindc1\Desktop\Script_AD\Sortie_CSV\Utilisateur_annuaire.csv" -Encoding UTF8
Dernière édition: il y a 1 mois 4 semaines par Hab.

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 1 mois 4 semaines #32479 par Laurent Dardenne
le post cité contenait une solution.
Un indice : Dans quel scope est créée la variable $users ? Et ce n'est pas un tableau :-)

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 1 mois 3 semaines #32502 par Christophe MELIN
Salut,

Autre petit conseil : mettre la liste des attributs dans un tableau en dehors de la boucle :

$arrAttributes = @("physicalDeliveryOfficeName", "Department", "GivenName", "Surname", "Mail", "TelephoneNumber", "Mobile", "Title", "homePhone")

$arrResults = @()
foreach( $user in $CSVData) {
...
$users = get-aduser -filter {...} -properties $arrAttributes | select $arrAttributes
$arrResults += $users
}

$arrResults | Export-csv ...

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.079 secondes
Propulsé par Kunena