Export fichier.csv
Le
dav8669

Bonjour,
J'ai un souci lors de l'export vers un fichier.csv.Je m'explique lors de export-csv . En effet, lors de l'ouverture de mon fichier, les valeurs des attributs ne sont pas inscrites.
J'ai donc trouvé une solution intermédiaire que j'aimerais supprimer. Je fais un export-clixml puis import-clixml avant de réexporter avec export-csv.Comment supprimer cette étape?
$user=[ADSI]"LDAP\*cn=*,ou=*,dc=*,dc=*
$user | select sn,givenname,mail |export-clixml c:tempessai.xml
import-clixml c:tempessai.xml | export-csv c:tempessai.csv
Merci
J'ai un souci lors de l'export vers un fichier.csv.Je m'explique lors de export-csv . En effet, lors de l'ouverture de mon fichier, les valeurs des attributs ne sont pas inscrites.
J'ai donc trouvé une solution intermédiaire que j'aimerais supprimer. Je fais un export-clixml puis import-clixml avant de réexporter avec export-csv.Comment supprimer cette étape?
$user=[ADSI]"LDAP\*cn=*,ou=*,dc=*,dc=*
$user | select sn,givenname,mail |export-clixml c:tempessai.xml
import-clixml c:tempessai.xml | export-csv c:tempessai.csv
Merci
J'ai ce script
$ldapQuery = "(&(objectCategory=person)(objectClass=user))"
$de = [ADSI]"LDAP://*/ou=*,dc=*,dc=*"
$ads = new-object system.directoryservices.directorysearcher -argumentlist $de,$ldapQuery
$complist = $ads.findall()
foreach ($i in $complist) {
$user=$i.getDirectoryEntry()
$user|select sn,givenname,cn
}
Et j'aimerais redirigier tout les attributs cn, givenname,sn pour chaque utilisateur dans un fichier.csv.
Je ne peux pas appliquer directement ma commande Export
Merci
| J'ai ce script
| $ldapQuery = "(&(objectCategory=person)(objectClass=user))"
| $de = [ADSI]"LDAP://*/ou=*,dc=*,dc=*"
| $ads = new-object system.directoryservices.directorysearcher
| -argumentlist $de,$ldapQuery
| $complist = $ads.findall()
|
| foreach ($i in $complist) {
| $user=$i.getDirectoryEntry()
| $user|select sn,givenname,cn
| }
| Et j'aimerais redirigier tout les attributs cn, givenname,sn pour
| chaque utilisateur dans un fichier.csv.
| Je ne peux pas appliquer directement ma commande Export
Il est nécessaire de fabriquer la liste d'objets :
@(foreach ($i in $complist) {
$i | select @{n="sn";e={$_.properties.sn}},
@{n="givenname";e={$_.properties.givenname}},
@{n="cn";e={$_.properties.cn}}
}) | export-csv D:Testexport.csv -force -notype
--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr
Problème réglé en passant par les données externes de excel.
| dav8669 a écrit le 20/01/2009 à 11h23 :
Bonsoir,
| Merci, cela fonctionne.Et si je souhaite mettre chaque attribut
| récupéré dans une colonne différente dans un fichier .xls?
Ce comportement est causé par la locale configurée sur la machine. Pour
que le fichier .csv puisse s'ouvrir directement dans Excel en respectant
les colonnes alors il faudrait que le fichier .csv possède comme
séparateur de champs des point-virgules et non des virgules. Ce problème
est corrigé avec PowerShell V2 CTP par l'introduction du
paramètre -Delimiter. Par exemple :
Export-Csv D:Testexport.csv -force -notype -delimiter ';'
Important: Vous semblez avoir un problème d'entête dans certain de vos
Posts. En effet, je ne suis pas en mesure de répondre au Post suivant,
celui ci-dessous, pour cause d'entête non valide :
References:
Cette entête provoque une erreur NNTP 441 avec le code 0x800CCCA9
--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr
Ah bon ? Pour moi, tout fonctionne. Peux tu m'en dire un peu plus sur les entêtes? leurs fonctions? et m'expliquer le fonctionnement des listes et le @.Merci
Apparament, ma réponse a pas été publié.Je disais que moi j'ai pas d'erreur avec l'entête. Je vois pas trop à quoi correspond l'entête d'ailleurs. Qu'est ce que c'est? A quoi correspond t'elle?Peux-tu aussi m'expliquer un peu les listes et à quoi sert le @. Merci Sinon, tout fonctionne !
| Apparament, ma réponse a pas été publié.Je disais que moi j'ai pas
| d'erreur avec l'entête. Je vois pas trop à quoi correspond l'entête
| d'ailleurs. Qu'est ce que c'est? A quoi correspond t'elle?Peux-tu
| aussi m'expliquer un peu les listes et à quoi sert le @. Merci Sinon,
| tout fonctionne !
Les entêtes sont présentes dans les messages que vous Postez dans les
Forum de type newsgroup et sont utiles au protocole associé qui est le
protocole NNTP. A priori, vous utilisez le fournisseur giganews pour
Poster dans les Forums. Je vous invite à utiliser un vrai client NNTP
(Outlook Express, Windows Mail, Mes News, ...) ou à défaut l'interface
Web Microsoft disponible à cette adresse :
http://www.microsoft.com/communities/newsgroups/en-us/default.aspx?dg=microsoft.public.fr.scripting
Pour plus d'information sur le protocole NNTP, je vous renvoi à sa RFC
;-)
http://tools.ietf.org/html/rfc3977
--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr