Question Problème avec Export-CSV

Plus d'informations
il y a 17 ans 4 mois #3171 par LIEFOOGHE
Bonjour à tous,

Je rencontre quelque problème avec la méthode Export-CSV.

Voici mon script :
[code:1] function Get-UserInfo
{
$objDomaine = [ADSI]''
$objRecherche = New-Object `
System.DirectoryServices.DirectorySearcher($objDomaine)
$objRecherche.PageSize = 1000
$requete = '(&(sAMAccountType=805306368) (name=*))'
$objRecherche.Filter=$requete
$comptes = $objRecherche.FindAll()

foreach ($comptes in $objRecherche.FindAll())
{
$path = $comptes.Path
$user = [ADSI]\"$path\"
$user
}
}




Get-UserInfo | Select -Property cn,displayname,userPrincipalName,Mail,telephoneNumber,sAMAccountName | Export-Csv c:\test.csv[/code:1]

Si je n'exporte pas dans un fichier csv, mes attributs s'affichent correctement, par contre quand j'exporte en CSV, c'est le type qui s'affiche à la place de la valeur de ma variable :

System.DirectoryServices.PropertyValueCollection

J'ai réussi avec la méthode Get-QADUser de Quest mais le problème ce que je n'arrive pas à executer ce script dans une tache AT :

[code:1]Get-QADUser -SizeLimit 0 -SearchRoot 'DC=COMMUN,DC=AD,DC=SNCF,DC=FR' |

Select-Object -property \"name\",\"displayname\",\"userPrincipalName\",\"Mail\",\"telephoneNumber\",\"sAMAccountName\" |

Export-Csv c:\test.csv[/code:1]

Voila pourquoi j'ai créé une function Get-UserInfo

Christophe LIEFOOGHE
SUPINFO Student
www.reseau-dev.fr

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

Plus d'informations
il y a 17 ans 4 mois #3175 par Grégory
Réponse de Grégory sur le sujet Re:Problème avec Export-CSV
J'ai eu le même problème la solution que j'ai trouvé est de passer par export-clixml

au lieu de faire directement un export en csv
tu exportes en xml

puis tu importes ton xml que tu exportes en csv

et ça marche sans soucis

[code:1]Get-UserInfo | Select -Property cn,displayname,userPrincipalName,Mail,telephoneNumber,sAMAccountName | Export-clixml c:\test.xml
import-clixml c:\test.xml|export-csv c:\test.csv
[/code:1]<br><br>Message édité par: Nostra, à: 4/11/08 13:40

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

Plus d'informations
il y a 17 ans 4 mois #3178 par Laurent Dardenne
Le cmdlet Select-Objet supprime les méthodes de l'objet source et l'affichage se fait avec la méthode ToString() qui par défaut renvoi le nom du type de l'objet.
Ensuite le type de l'objet selectionné devient PSObject ce qui invalide peut être le formatage par défaut des champs, cf. les fichiers .ps1xml.
Mais je n'ai pas trop le temps de creuser plus que ça l'origine de ce pb.

Essai avec des expressions personnalisées comme indiqué [url=http://stackoverflow.com/questions/207166/can-i-transform-object-properties-during-output-with-select-objectexport-csv
]ici[/url]

Tutoriels PowerShell

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

Plus d'informations
il y a 17 ans 4 mois #3181 par LIEFOOGHE
Réponse de LIEFOOGHE sur le sujet Re:Problème avec Export-CSV
La méthode avec l'exporte importe XML fonctionne mais elle est très longue.

En faite avec le second script le résultat est bon :

[code:1]Get-QADUser -SizeLimit 0 -SearchRoot 'DC=COMMUN,DC=AD,DC=SNCF,DC=FR' |

Select-Object -property \&quot;name\&quot;,\&quot;displayname\&quot;,\&quot;userPrincipalName\&quot;,\&quot;Mail\&quot;,\&quot;telephoneNumber\&quot;,\&quot;sAMAccountName\&quot; |

Export-Csv c:\test.csv[/code:1]

Mais le problème c'est que ne peux pas utiliser la cmdlet Get-QADUser directement depuis powerShell :
Mon but est d'exécuter tous les soirs un script batch de ce type :
[code:1]powershell c:\monscript.ps1.[/code:1]

Mais impossible si j'utilise Get-QADUser puisque cette cmdlet n’est pas reconnu pas PowerShell

Christophe LIEFOOGHE
SUPINFO Student
www.reseau-dev.fr

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

Plus d'informations
il y a 17 ans 4 mois #3182 par daniel soares
Réponse de daniel soares sur le sujet Re:Problème avec Export-CSV
tes taches planifiees sont lancées par ton propre compte?
si ce n'est pas le cas il faut que tu active le snapin
sur le compte correspondant
ou peut etre en executant cette ligne directement dans le script

Add-PSSnapin Quest.ActiveRoles.ADManagement

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

Plus d'informations
il y a 17 ans 4 mois #3196 par LIEFOOGHE
Réponse de LIEFOOGHE sur le sujet Re:Problème avec Export-CSV
La plannification est executé avec mon compte.

Powershell reconnait la cmdlet Get-QADUser après avoir fait Add-PSSnapin Quest.ActiveRoles.ADManagement.

Merci bien

Christophe LIEFOOGHE
SUPINFO Student
www.reseau-dev.fr

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

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