POWERSHELL Recuperer les utilisateurs d'un groupe (AD) sur excel

Fermé
Melano - 12 juin 2014 à 09:24
Melano1 Messages postés 7 Date d'inscription mercredi 11 juin 2014 Statut Membre Dernière intervention 24 juin 2014 - 12 juin 2014 à 14:01
Bonjour, voila j'explique mon problème:
Je dois lister tout les utilisateurs de tout les groupe pressent sur le réseau et sur l'AD (Active Directory) sur un fichier Excel, jusqu'ici tout va bien j'utilise Notepad ++ pour exécuter mon programme sous PowerShell, sauf que pour traiter les données c'est pas du tout pratique comme je les ai pas de la bonne manière sous Excel.
Mon programme permet de récupérer les données sur Excel mais sous cette forme:

groupe_A|utilisateur1.identifiant
groupe_A|utilisateur2.identifiant
groupe_A|utilisateur3.identifiant
groupe_B|utilisateur5.identifiant
groupe_B|utilisateur6.identifiant

En faite je voudrais récupérer les utilisateurs sous forme de ligne pour chaque groupes:

groupe_A|utilisateur1.identifiant, utilisateur2.identifiant, utilisateur3.identifiant
groupe_B|utilisateur5.identifiant,utilisateur6.identifiant

PS: J'utilise Excel 2010 et je suis sous Windows 2008 RS, et je n'arrive pas a mettre mon code sans qu'il me dise que j'ai trop d'erreur (pas écrire en SMS etc..) quand je veux le poster

Si vous avez des questions n'hésitez pas.

1 réponse

TheElreyatem Messages postés 224 Date d'inscription dimanche 23 septembre 2007 Statut Membre Dernière intervention 13 juin 2014 37
12 juin 2014 à 09:43
Bonjour,

La fonction suivante te serait-elle utile?
http://powershell-scripting.com/index.php?option=com_joomlaboard&Itemid=76&func=view&id=5258&catid=14
0
Franchement pour moi ce code est vraiment trop complexe déjà pour le comprendre et surtout pour essayer de l'adapter a ma manière. Mon programme est tout bête comparé a celui-ci, comme je suis novice dans ce langage. Mon code est comme ça, mais je voudrais juste avoir les utilisateur sur la même ligne au lieu de les avoir en colonne:

Import-Module ActiveDirectory

$Excel = New-Object -ComObject "Excel.Application"
$MaListe = @()
$Groups = Get-ADGroup -filter * -searchbase "ou=xxx,ou=xxx,dc=xxx,dc=xxx"


ForEach($G in $Groups)
{
$ObjectData = New-Object PSObject
$ObjectData | Add-Member -Name "Groupe" NoteProperty -Value $G.Name
$MaListe += $G.Name ;
$Members = $G | Get-ADGroupMember

ForEach($M in $Members)
{
$ObectData = New-Object PSObject
$ObjectData | Add-Member -Name "User Name" NoteProperty -Value $M.name
$ObjectData | Add-Member -Name "User Logon" NoteProperty -Value $M.SamAccountName
$MaListe =+ ',' + $M.name + ',' +$M.SamAccountName ;
}
}
set-content "d:\membre.xls" -value $MaListe
$excel.workbooks.open("D:\membre.xls")
$Excel.Visible = $true

PS: Merci pour la réponse rapide :)
0
TheElreyatem Messages postés 224 Date d'inscription dimanche 23 septembre 2007 Statut Membre Dernière intervention 13 juin 2014 37
12 juin 2014 à 11:36
C'était surtout pour l'algo de récupération. ;)
0
Melano1 Messages postés 7 Date d'inscription mercredi 11 juin 2014 Statut Membre Dernière intervention 24 juin 2014
12 juin 2014 à 14:01
Je sais pas, je n'arrive pas a avoir le résultat, comme j'arrive pas a le modifier a ma manière même en le laissant comme il est, je n'y arrive pas non plus. Juste si je pourrais avoir une modification de mon Code pour avoir le résultat que je souhaite sa serait le top. :)
0