Question
extract memberof csv
- Vincent
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 3
- Remerciements reçus 0
il y a 11 ans 4 mois #18430
par Vincent
extract memberof csv a été créé par Vincent
Bonjour,
Je sollicite votre aide pour finaliser un script.
Je souhaite faire une extraction de tous les groupes d'une OU dans un tableau ayant en 1ère colonne le nom du groupe, en 2ème le membre, et en 3ème la description du membre.
J'ai un script qui me donne les bonnes informations mais je n'arrive pas à créer un retour chariot à chaque membre.
Mon script me donne un tableau :
Groupe1 | user1, description - user2, description - ....
Groupe2 | user50, description - user60, description - ...
Alors que je voudrais qu'il soit formté comme ci-dessous:
Groupe1 | user1 | description
Groupe1 | user2 | description
Groupe2 | user50 | description
Groupe2 | user60 | description
Quelqu'un peut'il m'aider ?
Je sollicite votre aide pour finaliser un script.
Je souhaite faire une extraction de tous les groupes d'une OU dans un tableau ayant en 1ère colonne le nom du groupe, en 2ème le membre, et en 3ème la description du membre.
J'ai un script qui me donne les bonnes informations mais je n'arrive pas à créer un retour chariot à chaque membre.
Mon script me donne un tableau :
Groupe1 | user1, description - user2, description - ....
Groupe2 | user50, description - user60, description - ...
Alors que je voudrais qu'il soit formté comme ci-dessous:
Groupe1 | user1 | description
Groupe1 | user2 | description
Groupe2 | user50 | description
Groupe2 | user60 | description
Quelqu'un peut'il m'aider ?
La pièce jointe All_GroupList_Members.ps1 est absente ou indisponible
Pièces jointes :
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 11 ans 4 mois #18431
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:extract memberof csv
Salut,
je pense que tu devrais boucler sur la liste des membres de chaque groupe et pour chaque membre lui ajouter le nom du groupe courant.
Utilise soit Select-Object soit New-Object.
Ensuite c'est cette collection d'objets que tu exportes en csv.
je pense que tu devrais boucler sur la liste des membres de chaque groupe et pour chaque membre lui ajouter le nom du groupe courant.
Utilise soit Select-Object soit New-Object.
Ensuite c'est cette collection d'objets que tu exportes en csv.
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Vincent
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 3
- Remerciements reçus 0
il y a 11 ans 4 mois #18432
par Vincent
Réponse de Vincent sur le sujet Re:extract memberof csv
Merci de ce retour rapide Laurent.
J'ai créé mon script, que je colle ci-dessous, en prenant des bout de code à droite à gauche sur le net. Je ne comprends pas encore tout ce que j'écris... ce qui n'est pas très malin, mais j'apprends.
Est-ce que tu pourrais m'indiquer comment et où boucler comme tu le dis stp ?
import-module activeDirectory
$ResultFileName = \"C:\Script AD\PROJET - ListeDistrib\All_GroupList_Members_TEST.csv\"
$Groups =(Get-ADGroup -Properties * -Filter * -SearchBase \"OU=***,OU=***,OU=***,DC=***,DC=***\" | select cn,member)
foreach ($Group in $Groups){
$Members=$Group.Member
$Members= [string[]]$Members
for ($ind = 0 ;$ind -le $Members.getupperbound(0);$ind++)
{
$UserNMTEMP = [string]$Group.member[$ind]
$UserNMTEMP = Get-ADObject $UserNMTEMP -Properties displayname, description
if ($Ind -eq $Members.getupperbound(0))
{
$UserNMTEMP = [string]$UserNMTEMP.displayname+\" , \"+[string]$UserNMTEMP.description
}
Else
{
$UserNMTEMP = [string]$UserNMTEMP.displayname+\" , \"+[string]$UserNMTEMP.description+\";\"
}
$Group.member[$ind]=[string]$UserNMTEMP
}
$Group.member = [string]$Group.member
}
$Groups | Export-csv -path $ResultFileName -Delimiter \";\" -NoTypeInformation -Encoding UTF8
J'ai créé mon script, que je colle ci-dessous, en prenant des bout de code à droite à gauche sur le net. Je ne comprends pas encore tout ce que j'écris... ce qui n'est pas très malin, mais j'apprends.
Est-ce que tu pourrais m'indiquer comment et où boucler comme tu le dis stp ?
import-module activeDirectory
$ResultFileName = \"C:\Script AD\PROJET - ListeDistrib\All_GroupList_Members_TEST.csv\"
$Groups =(Get-ADGroup -Properties * -Filter * -SearchBase \"OU=***,OU=***,OU=***,DC=***,DC=***\" | select cn,member)
foreach ($Group in $Groups){
$Members=$Group.Member
$Members= [string[]]$Members
for ($ind = 0 ;$ind -le $Members.getupperbound(0);$ind++)
{
$UserNMTEMP = [string]$Group.member[$ind]
$UserNMTEMP = Get-ADObject $UserNMTEMP -Properties displayname, description
if ($Ind -eq $Members.getupperbound(0))
{
$UserNMTEMP = [string]$UserNMTEMP.displayname+\" , \"+[string]$UserNMTEMP.description
}
Else
{
$UserNMTEMP = [string]$UserNMTEMP.displayname+\" , \"+[string]$UserNMTEMP.description+\";\"
}
$Group.member[$ind]=[string]$UserNMTEMP
}
$Group.member = [string]$Group.member
}
$Groups | Export-csv -path $ResultFileName -Delimiter \";\" -NoTypeInformation -Encoding UTF8
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 11 ans 4 mois #18433
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:extract memberof csv
Voici un exemple utilisant le principe énoncé :
[code:1]
$Procs=Get-Process
$Result=foreach ($Process in $Procs){
$Procs[0].Modules|
Select @{Name='ProcessParent';Expression={$Process.Name}},Modulename,Filename
}
$Result|export-csv -path c:\temp\procs.csv -delimiter ';'
Type c:\temp\procs.csv
[/code:1]
[code:1]
$Procs=Get-Process
$Result=foreach ($Process in $Procs){
$Procs[0].Modules|
Select @{Name='ProcessParent';Expression={$Process.Name}},Modulename,Filename
}
$Result|export-csv -path c:\temp\procs.csv -delimiter ';'
Type c:\temp\procs.csv
[/code:1]
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Vincent
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 3
- Remerciements reçus 0
il y a 11 ans 4 mois #18469
par Vincent
Réponse de Vincent sur le sujet Re:extract memberof csv
Bonjour à tous,
Je suis arrivé à mes fin, je vous donne le code, si ça peut être utile à quelqu'un...
[code:1]import-module activeDirectory
$ResultFileName = \"C:\Temp\All_GroupList_Members_TEST.csv\"
# création d'une collections $groups qui stoke tous les groupes se situant dans l'OU désirée
$Groups =(Get-ADGroup -Properties * -Filter * -SearchBase \"OU=_IT,OU=MYLAB,DC=Mylab,DC=local\" | select cn,member)
# Création d'une table qui contiendra les résultats
$ResultTable = @();
# pour chaque groupe listé dans la collection $Groups
foreach ($Group in $Groups)
{
# je récupère les membres du groupe
$Members=$Group.Member
# je converti la liste récupérée en liste de chaine de caractères
$Members= [string[]]$Members
# pour chaque élément dans la liste de chaine de caractères
foreach($Member in $Members) {
# Je tente de récupérer le compte d'utilisateur
$User = Get-ADObject $Member -Properties Name,Description,DisplayName;
# Le membre est un utilisateur
if ($user.DisplayName -ne $null) {
# J'ai trouvé quelque chose et c'est un compte utilisateur
# Je créé un objet composé de 3 propriétés et je l'ajoute à la collection $ResultTable
$resultTable += New-object -TypeName psobject -Property @{
'Liste de Diffusion'=$Group.cn;
'Collaborateur'=$User.DisplayName;
'Direction-Service'=$User.Description;
}
}
else {
# J'ai trouvé quelque chose et c'est un groupe
# Je créé un objet composé de 3 propriétés et je l'ajoute à la collection $ResultTable
$resultTable += New-object -TypeName psobject -Property @{
'Liste de Diffusion'=$Group.cn;
'Collaborateur'=$User.Name;
'Direction-Service'=$User.Description;
}
}
}
}
# J'écris le contenu de la collection $ResulTable dans le fichier .csv
$ResultTable | Select-Object -Property 'Liste de Diffusion','Collaborateur','Direction-Service' | Export-csv -path $ResultFileName -Delimiter \";\" -NoTypeInformation -Encoding UTF8 -Force;[/code:1]<br><br>Message édité par: Arnaud, à: 25/11/14 23:33
Je suis arrivé à mes fin, je vous donne le code, si ça peut être utile à quelqu'un...
[code:1]import-module activeDirectory
$ResultFileName = \"C:\Temp\All_GroupList_Members_TEST.csv\"
# création d'une collections $groups qui stoke tous les groupes se situant dans l'OU désirée
$Groups =(Get-ADGroup -Properties * -Filter * -SearchBase \"OU=_IT,OU=MYLAB,DC=Mylab,DC=local\" | select cn,member)
# Création d'une table qui contiendra les résultats
$ResultTable = @();
# pour chaque groupe listé dans la collection $Groups
foreach ($Group in $Groups)
{
# je récupère les membres du groupe
$Members=$Group.Member
# je converti la liste récupérée en liste de chaine de caractères
$Members= [string[]]$Members
# pour chaque élément dans la liste de chaine de caractères
foreach($Member in $Members) {
# Je tente de récupérer le compte d'utilisateur
$User = Get-ADObject $Member -Properties Name,Description,DisplayName;
# Le membre est un utilisateur
if ($user.DisplayName -ne $null) {
# J'ai trouvé quelque chose et c'est un compte utilisateur
# Je créé un objet composé de 3 propriétés et je l'ajoute à la collection $ResultTable
$resultTable += New-object -TypeName psobject -Property @{
'Liste de Diffusion'=$Group.cn;
'Collaborateur'=$User.DisplayName;
'Direction-Service'=$User.Description;
}
}
else {
# J'ai trouvé quelque chose et c'est un groupe
# Je créé un objet composé de 3 propriétés et je l'ajoute à la collection $ResultTable
$resultTable += New-object -TypeName psobject -Property @{
'Liste de Diffusion'=$Group.cn;
'Collaborateur'=$User.Name;
'Direction-Service'=$User.Description;
}
}
}
}
# J'écris le contenu de la collection $ResulTable dans le fichier .csv
$ResultTable | Select-Object -Property 'Liste de Diffusion','Collaborateur','Direction-Service' | Export-csv -path $ResultFileName -Delimiter \";\" -NoTypeInformation -Encoding UTF8 -Force;[/code:1]<br><br>Message édité par: Arnaud, à: 25/11/14 23:33
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.048 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- extract memberof csv