Question Exporter les groupes auxquels un utilisateur appartiens

Plus d'informations
il y a 1 an 9 mois #32392 par Tiburce
Bonjour j'aimerai a partir d'un fichier CSV exporter tous les groupes dans lesquels l'utilisateur est membre dans un fichier CSV.
j'avais trouver cela pour un utilisateur unique qui fonctionne tres bien
Get-ADPrincipalGroupMembership USER | select name
J'aimerai obtenir sensiblement la meme chose a 2 differences pret : il va me chercher les utilisateurs dans un csv et exporte les resultats dans un autre csv.

Je bataille depuis une semaine un peu d'aide serait bienvenue.
 

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

Plus d'informations
il y a 1 an 9 mois - il y a 1 an 9 mois #32393 par Tiburce
J'utilise ca:
Foreach($user in $CSVData){
$UserSam= $user.SamAccountName

Get-ADPrincipalGroupMembership $usersam | Select-Object @{Name="Groups";Expression={$_.Name}} | export-csv -delimiter ";" -path \\......\....csv -NoTypeInformation
}

Le problème est que sur le csv exporté il n'y a les informations que du dernier compte de ma liste.... si je fais juste un affichage ca fonctionne dans powershell.
Dernière édition: il y a 1 an 9 mois par Tiburce.

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

Plus d'informations
il y a 1 an 8 mois #32405 par Laurent Dardenne
Salut,
le code au sein de ta boucle écrit la fichier à chaque itération, tu n'as donc une fois la boucle terminé que le dernier élément.

Tu peux ajouter -Append sur l'export-csv ou utiliser une variable intermédiaire $result=foreach ... suivie de $result|export-csv ...

Tutoriels PowerShell
Les utilisateur(s) suivant ont remercié: Tiburce

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

Plus d'informations
il y a 1 an 8 mois #32435 par Tiburce
Pourrais tu m'ecrire la commande complete car j'ai cherché append ( qui est en fait add-content) et je comprend pas bien la syntaxe.
Merci

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

Plus d'informations
il y a 1 an 8 mois #32436 par Laurent Dardenne
>>j'ai cherché append ( qui est en fait add-content)
Je n'ai pas compris...

Pour le futur :
get-help Export-csv -parameter append
get-help Export-csv -Examples
Donc la syntaxe dans ton cas :
Get-ADPrincipalGroupMembership $usersam | Select-Object @{Name="Groups";Expression={$_.Name}} | export-csv -delimiter ";" -path '\\......\....csv'  -NoTypeInformation -Append

La doc indique :
-Append <System.Management.Automation.SwitchParameter>
Tu ajoutes ce paramètre pour modifier le comportement de base de ce cmdlet.

Tutoriels PowerShell

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

Plus d'informations
il y a 1 an 8 mois #32437 par Laurent Dardenne
L'autre approche étant :
$Resultat=Foreach($user in $CSVData){
 $UserSam= $user.SamAccountName
 Get-ADPrincipalGroupMembership $usersam |
  Select-Object @{Name="Groups";Expression={$_.Name}}
}
$Resultat | Export-csv -delimiter ";" -path '\\......\....csv' -NoTypeInformation
Donc ici pas besoin du paramètre -Append car tu enregistres toutes tes informations en une seule fois.

Utiliser Export-cvs dans une boucle ouvrira et ferma le fichier autant de fois qu'il y a d'objet. Si tu as 10 objets cela ne pose pas trop de pb, si tu en as 100.000 c'est une autre histoire.

Tutoriels PowerShell
Les utilisateur(s) suivant ont remercié: Tiburce

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

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