rmw-home 0 Geschrieben 7. Januar 2017 Melden Teilen Geschrieben 7. Januar 2017 Servus,ich fummele gerade an einer Aufgabe:1. Finde alle Gruppen einer Active Directory Domäne welche einen bestimmten Namensbestandteil haben2. Liste die Gruppenmitglieder in einer Datei. Formatiert nach Username, DisplayName und Mailadresse3. Da es mehrere Gruppen mit dem gleichen Namensbestandteil gibt, und Benutzer in mehreren Gruppen Mitglied sein können soll die Liste darüber Auskunft geben.Beispielsweise Username Displayname Mailadresse GruppennameUser1 User1,name 1@1.de Gruppe 1User1 User1,name 1@1.de Gruppe 5User1 User1,name 1@1.de Gruppe 7User2 User2,name 2@1.de Gruppe 1und so weiter....Bisher bin ich so vorgegangen:Import-module ActiveDirectory#Gruppennamen in Variable Laden$array = Get-Adgroup -filter {name -like "GruppeXX*"} | select –exp NameDies liefert mir als Ergebnis der Variablen $Array 56 Gruppennamen#Gruppenmitglieder in Datei exportierenforeach ($element in $Array) { Get-ADGroupMember -Identity $element | Get-Aduser -Properties name, DisplayName, Mail | Select-Object name, DisplayName, Mail >> C:\Scripte\2017\Januar\GruppenMitglieder.txt}Dies liefert mir eine Datei welche die Gruppenmitglieder wie gewünscht in 3 Spalten mit den gewünschten Inhalten ausgibt. Dann aber nach den Gruppenmitgliedern der gruppe 1 drei Leerzeilen einfügt und wieder mit dem Inhalt der nächsten Gruppe weitermacht :name DisplayName Mail ----------- ---- xxxxxx xxxxxxx Email@Email.de xxxxxx xxxxxxx Email@Email.de xxxxxx xxxxxxx Email@Email.de xxxxxx xxxxxxx Email@Email.de name DisplayName Mail ----------- ---- xxxxxx xxxxxxx Email@Email.de xxxxxx xxxxxxx Email@Email.de xxxxxx xxxxxxx Email@Email.de xxxxxx xxxxxxx Email@Email.de Wie bekomme ich hin, dass der Gruppenname ebenfalls in die Liste eingetragen wird. Am besten wie oben beschrieben als 4 TabellenfeldGrußRainer Link zu diesem Kommentar
BOfH_666 577 Geschrieben 7. Januar 2017 Melden Teilen Geschrieben 7. Januar 2017 (bearbeitet) $Array = Get-ADGroup -Filter "Name -like 'GruppeXX*'" | Select-Object -ExpandProperty Name $Liste = foreach ($element in $Array) { Get-ADGroupMember -Identity $element | Get-Aduser -Properties name, DisplayName, Mail | Select-Object name, DisplayName, Mail,@{Name='Group';Expression={$element}} } $Liste $Liste | Export-Csv -Path C:\Scripte\2017\Januar\GruppenMitglieder.csv -NoTypeInformation -Delimiter ';' Vielleicht hilft Dir das ja weiter. Wenn Du Daten hast, die quasi eine Tabelle darstellen, macht es mehr Sinn, diese auch als solche zu exportieren. Das kannst Du mit Export-CSV erledigen. Um die einzelnen Gruppen dann noch auseinanderzuhalten, hab ich mal eine weitere Spalte mit dem Gruppennamen hinzugefügt. Du könntest natürlich auch jeweils eine Datei pro Gruppe machen. Noch ein Tipp für dieses Forum (vielleicht auch für alle Foren): Es zeugt von gutem Stil, wenn man Code postet, diesen auch als solchen zu formatieren. Dafür gibt es entsprechende Optionen in den jeweiligen Editoren. Und es macht Dir und den Menschen, die Dir helfen sollen das Leben einfacher, wenn Du möglichst keine Aliasse und Abkürzungen verwendest und entsprechende Einrückungen verwendest. Na denn ... viel Spaß bearbeitet 7. Januar 2017 von BOfH_666 1 Link zu diesem Kommentar
rmw-home 0 Geschrieben 7. Januar 2017 Autor Melden Teilen Geschrieben 7. Januar 2017 Servus, cool. Klappt wunderbar. Vielen Dank Gruß Rainer Link zu diesem Kommentar
cj_berlin 1.329 Geschrieben 23. Juni 2022 Melden Teilen Geschrieben 23. Juni 2022 Am 7.1.2017 um 19:21 schrieb BOfH_666: -Path C:\Scripte\2017\Januar\ Deine Ablagephilosophie für Skripte musst Du mir bei einem nächsten Meetup mal erklären... @BOfH_666 Link zu diesem Kommentar
BOfH_666 577 Geschrieben 23. Juni 2022 Melden Teilen Geschrieben 23. Juni 2022 Wieso ich? Da musst Du den OP fragen. Ich hab den Pfad doch nur übernommen. Link zu diesem Kommentar
Damian 1.561 Geschrieben 23. Juni 2022 Melden Teilen Geschrieben 23. Juni 2022 Dieser Thread ist nun doch schon ziemlich abgehangen. Ich schließe hier zu. VG Damian 1 Link zu diesem Kommentar
Empfohlene Beiträge