J'essaye d'écrire un script PowerShell qui va compiler ensemble une liste de groupes dans Active Directory avec les membres de chaque groupe. Mon but ultime est d'exporter ce vers un fichier CSV, donc je veux le tableau PowerShell pluridimensionnelle finale pour avoir le format suivant:Ajout de données à une baie PowerShell/Add-Member
GroupName GroupMember
Domain Admins Henry Doe
Domain Admins Melody Doe
Domain Names Doe Ray Me
Domain Users John Doe
Domain Users Jane Doe
(etc…)
J'utilise le code suivant pour essayer de le faire:
[array]$arrGroupMemberList = New-Object PSObject
Add-Member -InputObject $arrGroupMemberList -membertype NoteProperty -Name 'GroupName' -Value ""
Add-Member -InputObject $arrGroupMemberList -membertype NoteProperty -Name 'GroupMember' -Value ""
[array]$arrGroupMemberList = @()
[array]$arrGroupNameObjects = Get-ADGroup -Filter * | Where-Object {$_.Name -Like "Domain*"}
If ($arrGroupNameObjects.Count -ge 1)
{
## Cycle thru each group name and get the members
$arrGroupNameObjects | ForEach-Object {
[string]$strTempGroupName = $_.Name
$arrGroupMemberObjects = Get-ADGroupMember $strTempGroupName -Recursive
If ($arrGroupMemberObjects.Count -ge 1)
{
## Cycle thru the group members and compile into the final array
$arrGroupMemberObjects | ForEach-Object {
$arrGroupMemberList += $strTempGroupName, $_.Name
}
}
}
}
mon problème est, je continue à se retrouver avec comme mon tableau:
Domain Admins
Henry Doe
Domain Admins
Melody Doe
Domain Names
Doe Ray Me
Domain Users
John Doe
Domain Users
Jane Doe
J'ai essayé quelques façons différentes et je l'ai cherché, mais n'ont pas trouvé la réponse nulle part. Je suis sûr que c'est quelque chose de simple, mais qu'est-ce que je fais de mal? Puis-je créer un tableau multidimensionnel avec les données nécessaires, comme j'essaie de le faire? Si j'utilise les éléments suivants à la place:
## Cycle thru the group members and compile into the final array
$arrGroupMemberObjects | ForEach-Object {
$arrGroupMemberList[$intIndex].GroupName = $strTempGroupName
$arrGroupMemberList[$intIndex].GroupMember = $_.Name
$intIndex++
je me retrouve avec des erreurs comme:
Property 'GroupMember' cannot be found on this object; make sure it exists and is settable.
Property 'GroupName' cannot be found on this object; make sure it exists and is settable.
Merci
** Mise à jour **
je peut avoir trouvé où mon problème est, il peut être quand j'ajoute les membres du tableau. A la fin de mon script PowerShell, je suis en ajoutant la ligne de code suivante:
$arrGroupMemberList | Get-Member
Il n'y a aucune propriété, mes éléments ne sont pas là, même si je les ajoutais avec cmdlet Add-Member plus tôt dans le script. Est-ce que j'utilise la cmdlet Add-Member correctement?
Merci, mais essayé, n'a toujours pas fonctionné pour moi. J'ai trouvé de nouvelles informations et mettra à jour ma question – STGdb