rmw-home 0 Posted January 7, 2017 Report Share Posted January 7, 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 to comment
BOfH_666 577 Posted January 7, 2017 Report Share Posted January 7, 2017 (edited) $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ß Edited January 7, 2017 by BOfH_666 1 Link to comment
rmw-home 0 Posted January 7, 2017 Author Report Share Posted January 7, 2017 Servus, cool. Klappt wunderbar. Vielen Dank Gruß Rainer Link to comment
cj_berlin 1,326 Posted June 23, 2022 Report Share Posted June 23, 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 to comment
BOfH_666 577 Posted June 23, 2022 Report Share Posted June 23, 2022 Wieso ich? Da musst Du den OP fragen. Ich hab den Pfad doch nur übernommen. Link to comment
Damian 1,536 Posted June 23, 2022 Report Share Posted June 23, 2022 Dieser Thread ist nun doch schon ziemlich abgehangen. Ich schließe hier zu. VG Damian 1 Link to comment
Recommended Posts