Question
Export-csv
- physyo
- Auteur du sujet
- Hors Ligne
- Membre junior
-
Réduire
Plus d'informations
- Messages : 22
- Remerciements reçus 0
il y a 17 ans 2 semaines #4255
par physyo
Export-csv a été créé par physyo
Bonjour tout le monde
Je me suis lancé dans powershell il y a peux de temps donc je suis un peux un noob de powershell mais essayer de faire des progrés ^^
Alors voila. Je voudrai exporter en csv une liste des utilisateurs AD avec le displayname et le mail.
j'arrive à faire la liste avec le nom et le mail grace au script trouver sur le site mais je sais pas comment faire pour l'exporter en csv
[code:1]$ldapQuery = \"(&(objectCategory=user))\"
$de = new-object system.directoryservices.directoryentry
$ads = new-object system.directoryservices.directorysearcher -argumentlist $de,$ldapQuery
$complist = $ads.findall()
foreach ($i in $complist)
{
write-host $i.properties.displayname,$i.properties.mail
}
[/code:1]
J'ai bien bien essayer quelques chose dans ce style mais rien n'y fait
[code:1]$complist | select-object $i.properties.displayname, $i.properties.mail | export-csv $fichier [/code:1]
Je sais qu'il y a déjà eu des postes similaire sur le forum mais j'ai pas su trouver la réponse
Merci de votre aide
Je me suis lancé dans powershell il y a peux de temps donc je suis un peux un noob de powershell mais essayer de faire des progrés ^^
Alors voila. Je voudrai exporter en csv une liste des utilisateurs AD avec le displayname et le mail.
j'arrive à faire la liste avec le nom et le mail grace au script trouver sur le site mais je sais pas comment faire pour l'exporter en csv
[code:1]$ldapQuery = \"(&(objectCategory=user))\"
$de = new-object system.directoryservices.directoryentry
$ads = new-object system.directoryservices.directorysearcher -argumentlist $de,$ldapQuery
$complist = $ads.findall()
foreach ($i in $complist)
{
write-host $i.properties.displayname,$i.properties.mail
}
[/code:1]
J'ai bien bien essayer quelques chose dans ce style mais rien n'y fait
[code:1]$complist | select-object $i.properties.displayname, $i.properties.mail | export-csv $fichier [/code:1]
Je sais qu'il y a déjà eu des postes similaire sur le forum mais j'ai pas su trouver la réponse
Merci de votre aide
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 17 ans 2 semaines #4256
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Export-csv
Salut,
la ligne suivante suivante :
[code:1]
$complist | select-object $i.properties.displayname, $i.properties.mail | export-csv $fichier
[/code:1]
semble être une concaténation de lignes d'usage différent.
Si tu utilises une boucle avec $i, il n'est pas nécessaire d'utiliser $complist dans le pipeline, la boucle itère déjà sur cette collection :
[code:1]
foreach ($i in $complist)
{
write-host $i.properties.displayname,$i.properties.mail
select-object -InputObject $i -property property1,property2 | export-csv $fichier
}
[/code:1]
Si tu utilises uniquement le pipeline $i n'est pas reconnu et l'objet courant issu du pipeline est par défaut sélectionné :
[code:1]
$complist | select-object @{Name=\"Displayname\"; Expression={$_.properties.displayname}},@{Name=\"Mail\"; Expression={$_.properties.mail}}|| export-csv $fichier
[/code:1]
Comme ici la propriété à sélectionner est imbriquée il faut utiliser la syntaxe evoluée ci-dessus ou utiliser l'approche suivante :
[code:1]
$complist | select-object -expandProperty properties|Select displayname,mail| export-csv $fichier
[/code:1]<br><br>Message édité par: Laurent Dardenne, à: 4/03/09 15:55
la ligne suivante suivante :
[code:1]
$complist | select-object $i.properties.displayname, $i.properties.mail | export-csv $fichier
[/code:1]
semble être une concaténation de lignes d'usage différent.
Si tu utilises une boucle avec $i, il n'est pas nécessaire d'utiliser $complist dans le pipeline, la boucle itère déjà sur cette collection :
[code:1]
foreach ($i in $complist)
{
write-host $i.properties.displayname,$i.properties.mail
select-object -InputObject $i -property property1,property2 | export-csv $fichier
}
[/code:1]
Si tu utilises uniquement le pipeline $i n'est pas reconnu et l'objet courant issu du pipeline est par défaut sélectionné :
[code:1]
$complist | select-object @{Name=\"Displayname\"; Expression={$_.properties.displayname}},@{Name=\"Mail\"; Expression={$_.properties.mail}}|| export-csv $fichier
[/code:1]
Comme ici la propriété à sélectionner est imbriquée il faut utiliser la syntaxe evoluée ci-dessus ou utiliser l'approche suivante :
[code:1]
$complist | select-object -expandProperty properties|Select displayname,mail| export-csv $fichier
[/code:1]<br><br>Message édité par: Laurent Dardenne, à: 4/03/09 15:55
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- physyo
- Auteur du sujet
- Hors Ligne
- Membre junior
-
Réduire
Plus d'informations
- Messages : 22
- Remerciements reçus 0
il y a 17 ans 2 semaines #4258
par physyo
Réponse de physyo sur le sujet Re:Export-csv
Ok
Je te remercie beaucoup pour ton aide.
Je ne savais plus quoi faire sinon
Je te remercie beaucoup pour ton aide.
Je ne savais plus quoi faire sinon
Connexion ou Créer un compte pour participer à la conversation.
- Robin Lemesle
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 260
- Remerciements reçus 0
il y a 17 ans 2 semaines #4260
par Robin Lemesle
Il ne faut pas désèsperer comme ca
.
Comme le dit très justement Laurent, dans ton cas $i n'est pas connu (il était utilisé dans la boucle). La solution la plus simple à comprendre et à retrouver (si ce n'est pas toi qui va relir le script), c'est d'insérer le export dans la boucle.
[code:1]foreach ($i in $complist)
{
write-host $i.properties.displayname,$i.properties.mail
select-object -InputObject $i -property property1,property2 | export-csv $fichier
}
[/code:1]
Voila, @ bientôt
Robin MVP PowerShell
Réponse de Robin Lemesle sur le sujet Re:Export-csv
Je ne savais plus quoi faire sinon
Il ne faut pas désèsperer comme ca
[code:1]$complist | select-object $i.properties.displayname, $i.properties.mail | export-csv $fichier
[/code:1]
Comme le dit très justement Laurent, dans ton cas $i n'est pas connu (il était utilisé dans la boucle). La solution la plus simple à comprendre et à retrouver (si ce n'est pas toi qui va relir le script), c'est d'insérer le export dans la boucle.
[code:1]foreach ($i in $complist)
{
write-host $i.properties.displayname,$i.properties.mail
select-object -InputObject $i -property property1,property2 | export-csv $fichier
}
[/code:1]
Voila, @ bientôt
Robin MVP PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 17 ans 2 semaines #4262
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Export-csv
Robin écrit:
Dans mon explication je m'attardais sur la différence d'usage des variables, mais ta remarque me permet de rectifier une erreur car si on insére l'export dans la boucle foreach le fichier ne contiendra que les informations du dernier objet. Et dans le cas où on souhaite effectuer un traitement de + instructions, il est préférable d'utiliser le pipeline avec le cmdlet Foreach-Object.c'est d'insérer le export dans la boucle.
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.071 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Export-csv