IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scripts/Batch Discussion :

Exporter données AD vers CSV


Sujet :

Scripts/Batch

  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Technicien d' Exploitation
    Inscrit en
    Décembre 2015
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Technicien d' Exploitation

    Informations forums :
    Inscription : Décembre 2015
    Messages : 2
    Par défaut Exporter données AD vers CSV
    Bonjour,

    Je suis débutant sur powershell (voir neophyte)

    J'aimerais à partir d'une liste de nom/prenom contenu dans un fichier CSV. obtenir leur adresse mail à partir du champ "emailadress" de l'Active Directory (2008 R2)

    J'ai deja fait une recherche et j'arrive à extraire cette info avec la commande suivante:

    Get-ADUser -identity %username% -Properties EmailAddress | select EmailAddress | Export-CSV "C:\Scripts\Email_Addresses.csv"

    Mais je n'arrive pas à trouver la commande me permettant d'effectuer cette extraction à partir d'une liste de prénom/nom.

    Pouvez vous m'aider svp ?

    A dispo pour tout complément d'information

  2. #2
    Membre éprouvé
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2015
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2015
    Messages : 66
    Par défaut
    Tu y étais presque, il faut par contre utiliser un filtre pour sélectionner l'objet AD à partir du prénom,nom.

    Imaginons que $prenom et $nom sont issus d'un fichier CSV, tu peux faire ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Get-ADUser -Properties emailaddress -filter {givenname -eq $prenom -and surname -eq $nom} | select GivenName, Surname, EmailAddress| Export-Csv "C:\Scripts\Email_Addresses.csv" -notypeinformation -delimiter ";" -encoding default
    Plus sur les filtres utilisés par Get-AdUser ici

  3. #3
    Nouveau candidat au Club
    Homme Profil pro
    Technicien d' Exploitation
    Inscrit en
    Décembre 2015
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Technicien d' Exploitation

    Informations forums :
    Inscription : Décembre 2015
    Messages : 2
    Par défaut
    Merci pour ton retour!

    Par contre lorsque j'edite mon script avec la syntaxe que tu m'as décrite et que la lance, voici le msg d'erreur que j'ai :

    Get-ADUser : Variable: 'prenom' found in expression: $prenom is not defined.
    At C:\scripts\EmailAddresses.ps1:3 char:11
    + Get-ADUser <<<< -Properties emailaddress -filter {givenname -eq $prenom -and surname -eq $nom} | select GivenName, S
    urname, EmailAddress| Export-Csv "C:\Scripts\Email_Addresses.csv" -notypeinformation -delimiter ";" -encoding default
    + CategoryInfo : InvalidArgument: ( [Get-ADUser], ArgumentException
    + FullyQualifiedErrorId : Variable: 'prenom' found in expression: $prenom is not defined.,Microsoft.ActiveDirector
    y.Management.Commands.GetADUser

    Pour moi c'est un peu du chinois... apparemment je n'aurais pas défini une variable ?

  4. #4
    Membre éprouvé
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2015
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2015
    Messages : 66
    Par défaut
    Oui normal, tu as mentionné que les noms et prénoms sont stockés dans un CSV et tu dois adapter le script pour les utiliser.

    Il faut importer le CSV qui contient les noms et prénoms et faire une boucle pour les utiliser, voici un exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $listeDePersonnes = Import-Csv "c:\path ou se trouve le CSV avec les personnes.csv" -delimiter ";" -encoding Default
    
    foreach ($element in $listeDePersonnes)
    {
          Get-ADUser -Properties emailaddress -filter {givenname -eq $element.prenom -and surname -eq $element.nom} | select GivenName, Surname, EmailAddress| Export-Csv "C:\Scripts\Email_Addresses.csv" -notypeinformation -delimiter ";" -encoding default -append
    }
    A noter que dans cet exemple j'ai modifié l'export-csv avec -append, pour ne pas écraser le fichier mais plutôt ajouter les données.

Discussions similaires

  1. [XL-2003] Export données XLS vers CSV
    Par Monfy29 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 09/12/2011, 14h19
  2. Export de données triées vers CSV
    Par ammah dans le forum Oracle
    Réponses: 7
    Dernier message: 17/08/2010, 11h25
  3. pb export données sql vers excel
    Par nicoladele dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 23/05/2007, 17h05
  4. Exportation données excel vers sql server 2005, en ASPX?
    Par Micke7 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 16/01/2007, 14h57
  5. Export données MsFlexGrid vers Excel VB6.0
    Par elabbassi dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 16/09/2005, 14h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo