Alex85 0 Geschrieben 4. März 2014 Melden Geschrieben 4. März 2014 (bearbeitet) Hi, ich brauche Hilfe bei einer Abfrage. Ich muss wissen, in welcher Gruppe der UserA ist und dazu in welcher Gruppe seine Gruppen verschachtelt sind. z.B. "UserA" ist in "Globla_GruppeA" und diese ist Mitlgied von "Lokal_GruppeA" Dann sollten beide Gruppen ausgegeben werden. Hiermit bekomme ich schon mal die direkten Gruppen in denen der User Mitglied ist. Get-ADUser -Filter {Name -Like "UserA"} -SearchBase "OU=Benutzer,DC=domain,DC=tld" | ForEach-Object {"";$_.SamAccountName;"—";Get-ADPrincipalGroupMembership $_ | Select-Object SamAccountName } bearbeitet 4. März 2014 von Alex85 Zitieren
Dukel 460 Geschrieben 4. März 2014 Melden Geschrieben 4. März 2014 Wenn du jetzt die Gruppe hast kannst du diese Abfragen, in welchen Gruppen diese ist. Mit einer Zeile wirst du das nicht hin bekommen. Du musst die Gruppenabfrage rekursiv machen. Zitieren
Alex85 0 Geschrieben 4. März 2014 Autor Melden Geschrieben 4. März 2014 Get-ADUser -Filter {Name -Like "UserA"} -SearchBase "OU=Benutzer,DC=domain,DC=tld" | ForEach-Object {$_.SamAccountName;"—";Get-ADPrincipalGroupMembership $_ | Select-Object SamAccountName } ForEach-Object {"";"- Hauptgruppe:;$_;"-- Untergruppe:";Get-ADPrincipalGroupMembership -Identiy $_.SamAccountName| Select-Object SamAccountName } Hiermit bekomme ich zumindest die erste Verschachtelung mit. Zitieren
Dukel 460 Geschrieben 4. März 2014 Melden Geschrieben 4. März 2014 Jetzt nur noch das ganze rekursiv. Du machst dabei eine Funktion, welches einen Gruppennamen als Parameter bekommt. Diese Funktion liest die enthaltenen Member aus und führt für alle Member die Gruppen sind die Funktion selbst wieder auf. Wie viel Powershell Erfahrung hast du? Wofür machst du das Script? Zitieren
blub 115 Geschrieben 4. März 2014 Melden Geschrieben 4. März 2014 Hallo, Mit ADSISearcher und LDAPControls läßt sich sowas auch lösen: Clear-HostSet-Strictmode -Version "2.0"$UserDN = "CN=myUser,,OU=Scripting,DC=Dom1,DC=Intern"$DirectorySearcher = ([ADSISearcher]"LDAP://")$DirectorySearcher.Filter = "(member:1.2.840.113556.1.4.1941:=$UserDN)"$DirectorySearcher.Searchscope="subtree"$DirectorySearcher.FindAll() | Foreach{ $($_.Properties).cn } [/Code] blub Zitieren
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.