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-Key: 499068

Url: https://administrator.de/contentid/499068

Printed on: April 27, 2024 at 01:04 o'clock

Mitglied: 140913
Solution 140913 Sep 27, 2019 updated at 15:17:03 (UTC)
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.
Member: erikro
Solution erikro Sep 27, 2019 at 15:28:49 (UTC)
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
Member: StiftungLFA
StiftungLFA Sep 27, 2019 at 15:42:21 (UTC)
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