0 Pluspunkte 0 Minuspunkte

Ich versuche alle Active Directory Groups mit Powershell aufzulisten und gleichzeitig auch alle Mitglieder.

Get-ADGroup -Filter * | foreach-object { Write-Host "Gruppe: $($_.Name)"; Write-Host "; Mitglieder:"; Get-ADGroupMember -Identity $_.Name | foreach-object { Write-Host "$($_.Name), " } }

Das Ergebnis sollte so aussehen

Gruppe: Group1, Mitglieder: User1,User2,User3
Gruppe: Group2, Mitglieder: User1,User2,User3

Aber mein Ergebnis sieht so aus

Gruppe: Group1
Mitglieder:
User1,
User2,
User3

Wie kann ich die Ausgabe so machen dass alles in einer Zeile steht und die Namen mit Beistrichen getrennt werden.

von  

1 Antwort

0 Pluspunkte 0 Minuspunkte

Jedes Mal, wenn du Write-Host aufrufst wird der Inhalt sofort ausgegeben und eine neue Zeile erstellt. In deinem Script rufst du Write-Host zweimal auf: einmal für den Gruppennamen und einmal für jedes Gruppenmitglied. Dadurch wird jede Ausgabe in einer neuen Zeile angezeigt. Hier ist eine überarbeitete Version:

Get-ADGroup -Filter * | foreach-object { Write-Output "$($_.SAMAccountName) $((Get-ADGroupMember -Identity $_.SAMAccountName | foreach{ $_.SAMAccountName }) -Join ',')" }
von (776 Punkte)