stiftunglfa
Goto Top

AD-User in lokalen Gruppen innerhalb einer OU auslesen

Hallo,

und erstmal vielen Dank für jede Hilfe.

Wir haben eine OU ( Domänefu ktionsebene 2008R2 .

In einer Ou "OU=Berechtigungen,DC=x,DC=y" gibt es diverse lokale Sicherheitsgruppen, in diesen Gruppen sollten eigentlich nur weitere Gruppen ( Universal-Sicherheit ) sein, jedoch hat sich über die Dauer hier divere AUsnahmen eingeschlichen, so dass sich in den lokalen Sicherheitsgruppen direkt User befinden.

Nun würden wir gerne
1) Alle User erhalten, die sich in lokalen Gruppen in dieser OU befinden.
2) Alle Alle Gruppen zuordbar erhalten, die sich in den lokalen Sicherheitsgruppen befinden.
3) Alle User, zuordbar erhalten, die sich in den Universalen Gruppen befinden ( Die universalen Gruppen befinden sich in einer extra OU )

Ich denke, das Ganze werde ich über einen csv-Export am Besten dargestellt bekommen.

Nur bin ich bisher nur soweit gekommen, dass ich entweder User einer OU, in der sie sich direkt befinden oder User einer Gruppe ausgegeben bekomme.

Aufgrund der Vielzahl der Gruppen wäre es ein zu großer Aufwand, dies für jede Gruppe einzeln durchzuführen.

Vielen Dank für eine Lösung oder Hilfen.

Content-ID: 499068

Url: https://administrator.de/forum/ad-user-in-lokalen-gruppen-innerhalb-einer-ou-auslesen-499068.html

Ausgedruckt am: 22.04.2025 um 01:04 Uhr

140913
Lösung 140913 27.09.2019 aktualisiert um 17:17:03 Uhr
Goto Top
$OU = "OU=Berechtigungen,DC=domain,DC=tld"  
$result = Get-ADGroup -Filter {GroupScope -eq "DomainLocal"} -SearchBase $OU -SearchScope Subtree | %{  
    $groupname = $_.Name
    $users = Get-ADGroupMember $_ | ?{$_.ObjectClass -eq "user"}  
    if($users){
        $users | %{
            [pscustomobject]@{
                Gruppe = $groupname
                User = $_.Name
            }
        }
    }
}
if($result){
    $result | export-csv '.\mylist.csv' -Delimiter ";" -NoType -Encoding UTF8  
}

Gibt eine CSV aus im Format wenn es entsprechende User gibt:
"Gruppe";"User"  
"MyLocalGroup2";"Hans Meier"  
"MyLocalGroup2";"Max Muster"  
"MyLocalGroup1";"Anke Musterfrau"  

Für die Universal Groups benutzt du einfach das selbe nur mit dem Filter von Get-ADGroup auf Universal gesetzt.
erikro
Lösung erikro 27.09.2019 um 17:28:49 Uhr
Goto Top
Moin,
Zitat von @StiftungLFA:
In einer Ou "OU=Berechtigungen,DC=x,DC=y" gibt es diverse lokale Sicherheitsgruppen, in diesen Gruppen sollten eigentlich nur weitere Gruppen ( Universal-Sicherheit ) sein,

OK. Warum Universale und nicht globale Gruppen? Gibt es eine Gesamtstruktur aus mehreren Domains?

jedoch hat sich über die Dauer hier divere AUsnahmen eingeschlichen, so dass sich in den lokalen Sicherheitsgruppen direkt User befinden.

Ganz schlecht.

Nun würden wir gerne
1) Alle User erhalten, die sich in lokalen Gruppen in dieser OU befinden.
2) Alle Alle Gruppen zuordbar erhalten, die sich in den lokalen Sicherheitsgruppen befinden.

Powershell:
Get-ADGroup -Filter "GroupScope -eq 'DomainLocal'" | %{$_.name;get-adgroupmember $_|?{$_.objectclass -eq "user"}}  

Der erste Befehl sucht alle domainlokalen Gruppen. Hinter der Pipe kommt eine Foreach-Schleife, die erst einmal den Namen der Gruppe ausgibt ($_.name) und dann die Mitglieder der Gruppe, die dann mit der zweiten Pipe nach dem Merkmal "user" gefiltert werden.

3) Alle User, zuordbar erhalten, die sich in den Universalen Gruppen befinden ( Die universalen Gruppen befinden sich in einer extra OU )

Genauso. Nur wird der Filter DomainLocal durch Universal ersetzt.

Ich denke, das Ganze werde ich über einen csv-Export am Besten dargestellt bekommen.

Guck Dir erst einmal das Ergebnis an.

hth

Erik
StiftungLFA
StiftungLFA 27.09.2019 um 17:42:21 Uhr
Goto Top
Zitat von @erikro:

Moin,
Zitat von @StiftungLFA:
In einer Ou "OU=Berechtigungen,DC=x,DC=y" gibt es diverse lokale Sicherheitsgruppen, in diesen Gruppen sollten eigentlich nur weitere Gruppen ( Universal-Sicherheit ) sein,

OK. Warum Universale und nicht globale Gruppen? Gibt es eine Gesamtstruktur aus mehreren Domains?
Ja genau. Wobei das Ganze aus der Vergangenheit beruht und nun zusammengefasst werden soll. Wird es so zukünftig dann eben nicht mehr geben,
Da wir die effektiven Berechtigungen daher für die GF zur Neustrukturierung aufschlüsseln sollen, haben wir nun das.

jedoch hat sich über die Dauer hier divere AUsnahmen eingeschlichen, so dass sich in den lokalen Sicherheitsgruppen direkt User befinden.

Ganz schlecht.
Deshalb stehen wir vor dem "Dilemma"

Powershell:
> Get-ADGroup -Filter "GroupScope -eq 'DomainLocal'" | %{$_.name;get-adgroupmember $_|?{$_.objectclass -eq "user"}}  
> 

Der erste Befehl sucht alle domainlokalen Gruppen. Hinter der Pipe kommt eine Foreach-Schleife, die erst einmal den Namen der Gruppe ausgibt ($_.name) und dann die Mitglieder der Gruppe, die dann mit der zweiten Pipe nach dem Merkmal "user" gefiltert werden.

Danke, werden wir testen