Mit Powershell mehrere Active Directory Gruppen auslesen und die Gruppenmember in Datei ausgeben
Servus,
ich fummele gerade an einer Aufgabe:
1. Finde alle Gruppen einer Active Directory Domäne welche einen bestimmten Namensbestandteil haben
2. Liste die Gruppenmitglieder in einer Datei. Formatiert nach Username, DisplayName und Mailadresse
3. 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 Gruppenname
User1 User1,name 1@1.de Gruppe 1
User1 User1,name 1@1.de Gruppe 5
User1 User1,name 1@1.de Gruppe 7
User2 User2,name 2@1.de Gruppe 1
und so weiter....
Bisher bin ich so vorgegangen:
Import-module ActiveDirectory
#Gruppennamen in Variable Laden
$array = Get-Adgroup -filter {name -like "GruppeXX*"} | select –exp Name
Dies liefert mir als Ergebnis der Variablen $Array 56 Gruppennamen
#Gruppenmitglieder in Datei exportieren
foreach ($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 Tabellenfeld
Gruß
Rainer
ich fummele gerade an einer Aufgabe:
1. Finde alle Gruppen einer Active Directory Domäne welche einen bestimmten Namensbestandteil haben
2. Liste die Gruppenmitglieder in einer Datei. Formatiert nach Username, DisplayName und Mailadresse
3. 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 Gruppenname
User1 User1,name 1@1.de Gruppe 1
User1 User1,name 1@1.de Gruppe 5
User1 User1,name 1@1.de Gruppe 7
User2 User2,name 2@1.de Gruppe 1
und so weiter....
Bisher bin ich so vorgegangen:
Import-module ActiveDirectory
#Gruppennamen in Variable Laden
$array = Get-Adgroup -filter {name -like "GruppeXX*"} | select –exp Name
Dies liefert mir als Ergebnis der Variablen $Array 56 Gruppennamen
#Gruppenmitglieder in Datei exportieren
foreach ($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 Tabellenfeld
Gruß
Rainer
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 325776
Url: https://administrator.de/contentid/325776
Ausgedruckt am: 14.11.2024 um 07:11 Uhr
1 Kommentar
War alles schon da...
AD User auslesen und in Datei mit Logo abspeichern
Gruß mik
AD User auslesen und in Datei mit Logo abspeichern
Get-ADGroup -Filter {Name -like 'GruppeXX*'} -pipelinevariable group | %{
Get-ADGroupMember $_ -Recursive | Get-ADUser -Properties Mail,DisplayName | select Name,DisplayName,Mail,@{n='Group';e={$group.Name}} -Unique
} | ft -GroupBy Group