LDAP Sicherheitsgruppen
Guten Tag
Bei meiner LDAP ABfrage komme ich einfach nicht weiter.
Jeder User im AD ist in mehreren Sicherheitsgruppen. Alle diese Sicherheitsgruppen sind für verschiedene Zugehörigkeiten gedacht.
z.B. Berechtigungen oder Abteilung usw.
Abteilungssicherheitsgruppen beginnen z.B. mit A_User_Abteilung
Berechtigungsgruppen B_User_Abteilung
Eine LDAP Abftrage einer Sicherheitsgruppe, welche Personen da drin sind funktioniert via MemberOf. Aber immer nur eine Gruppe. Hier wäre schön, wenn das über alle GruppenTypen ginge, alles andere macht keinen Sinn, da kann ich auch gleich die Sicherheitsgruppe öffnen und schauen wer drin ist. Platzhalter mit MemberOf scheint es nicht zu geben oder ich mache was falsch.
z.B.
(&(objectCategory=user)(memberOf=CN=A_User_Sekretariat,OU=Groups,OU=xx,OU=xxx,DC=domain,DC=abc,DC=ch))
Besser wäre wenn ging
(&(objectCategory=user)(memberOf=CN=A_User_*,OU=Groups,OU=xx,OU=xxx,DC=domain,DC=abc,DC=ch))
Dann hätte ich auch einen gegenvergleich.
Die Idee war nun, eine LDAP Abfrage zu machen die alle User auflistet, bei welchen die Sicherhistgruppen A_User_* fehlen.
Also, die keine Zugehörigkeit haben zu irgendeiner der Abteilungs Sicherheitsgruppen.
Hintergrund ist, dass jeder Mitarbeitende in einer A_User Gruppe sein muss. Welche interessiert mich im Moment nicht.
Da es viele solche A_User Gruppen gibt und über 400 Mitarbeiter, ist es extrem mühsam zu kontrollieren, ob jeder eine Zuteilung hat.
Ich hoffe ich konnte das einigermassen umschreiben.
Mit OUs zu unterteilen ist leider keine Option. Im Hosting Bereich dürfen wir das nicht.
Kann mir jemand helfen?
Danke
BeMe
Bei meiner LDAP ABfrage komme ich einfach nicht weiter.
Jeder User im AD ist in mehreren Sicherheitsgruppen. Alle diese Sicherheitsgruppen sind für verschiedene Zugehörigkeiten gedacht.
z.B. Berechtigungen oder Abteilung usw.
Abteilungssicherheitsgruppen beginnen z.B. mit A_User_Abteilung
Berechtigungsgruppen B_User_Abteilung
Eine LDAP Abftrage einer Sicherheitsgruppe, welche Personen da drin sind funktioniert via MemberOf. Aber immer nur eine Gruppe. Hier wäre schön, wenn das über alle GruppenTypen ginge, alles andere macht keinen Sinn, da kann ich auch gleich die Sicherheitsgruppe öffnen und schauen wer drin ist. Platzhalter mit MemberOf scheint es nicht zu geben oder ich mache was falsch.
z.B.
(&(objectCategory=user)(memberOf=CN=A_User_Sekretariat,OU=Groups,OU=xx,OU=xxx,DC=domain,DC=abc,DC=ch))
Besser wäre wenn ging
(&(objectCategory=user)(memberOf=CN=A_User_*,OU=Groups,OU=xx,OU=xxx,DC=domain,DC=abc,DC=ch))
Dann hätte ich auch einen gegenvergleich.
Die Idee war nun, eine LDAP Abfrage zu machen die alle User auflistet, bei welchen die Sicherhistgruppen A_User_* fehlen.
Also, die keine Zugehörigkeit haben zu irgendeiner der Abteilungs Sicherheitsgruppen.
Hintergrund ist, dass jeder Mitarbeitende in einer A_User Gruppe sein muss. Welche interessiert mich im Moment nicht.
Da es viele solche A_User Gruppen gibt und über 400 Mitarbeiter, ist es extrem mühsam zu kontrollieren, ob jeder eine Zuteilung hat.
Ich hoffe ich konnte das einigermassen umschreiben.
Mit OUs zu unterteilen ist leider keine Option. Im Hosting Bereich dürfen wir das nicht.
Kann mir jemand helfen?
Danke
BeMe
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 670580
Url: https://administrator.de/forum/ldap-sicherheitsgruppen-670580.html
Ausgedruckt am: 09.01.2025 um 17:01 Uhr
12 Kommentare
Neuester Kommentar
Du könntest die Gruppen alle via OR (|) negiert (!) verknüpft angeben ...
Usw. Musst du halt alle Gruppen mit A_User_* explizit auflisten.
(&(objectCategory=user)(!(|(memberOf=CN=A_User_Gruppe1,OU=Groups,OU=xx,OU=xxx,DC=domain,DC=abc,DC=ch)(memberOf=CN=A_User_Gruppe2,OU=Groups,OU=xx,OU=xxx,DC=domain,DC=abc,DC=ch)))
Dann bist du am A.... Lass dir mehr Zugriffsmöglichkeiten geben. LDAP kennt keine Wildcards im DN.
Alternative wenn EX im Einsatz ist, Dynamic DistributionGroup mit entspr. Filter.
https://learn.microsoft.com/de-de/exchange/recipients/dynamic-distributi ...
Alternative wenn EX im Einsatz ist, Dynamic DistributionGroup mit entspr. Filter.
https://learn.microsoft.com/de-de/exchange/recipients/dynamic-distributi ...
Hi,
wie @gastric schon schrieb: So geht das nicht. Aber ...
Womit machst Du diese LDAP-Abfragen?
Du könntest doch mittels eines lokalen Scripts die Daten über LDAP auslesen und dann lokal auswerten.
Wenn Du z.B. lokal PowerShell ausführen kannst, dann kannst Du über .Net mittels DirectoryEntry und DirectorySearcher o.g. erledigen, weil diese beiden Classen das AD über LDAP ansprechen. Meines Wissens.
E.
wie @gastric schon schrieb: So geht das nicht. Aber ...
Womit machst Du diese LDAP-Abfragen?
Du könntest doch mittels eines lokalen Scripts die Daten über LDAP auslesen und dann lokal auswerten.
- Alle Benutzer abfragen
- Alle Gruppennamen mit "A_User*" abfragen
- von jeder dieser Gruppen das "member" Attribut auslesen
- vergleichen, ob jeder der zuovor ausgelesenen Benutzer in min. einer Gruppe enthalten ist.
Wenn Du z.B. lokal PowerShell ausführen kannst, dann kannst Du über .Net mittels DirectoryEntry und DirectorySearcher o.g. erledigen, weil diese beiden Classen das AD über LDAP ansprechen. Meines Wissens.
E.
@emeriks
Zitat:
Zitat:
Also nur noch direkt in "Active Directory Users an Computers" Ansicht.
Da kann ich LDAP Abfragen machen. Mehr nicht
Für Scripting und Powershell hat er wohl keinen Zugriff.Da kann ich LDAP Abfragen machen. Mehr nicht
Man kann u.U. auch über die MMC "hacken", falls man ausschließlich diese als Programm starten kann (z.B. über Remote App).
Im Kontextmenü der MMC den Dialog "Liste exportieren..." aufrufen. Dort eine Verknüpfung zu z.B. "cmd.exe" erstellen und diese anschließend ausführen.
Das klappt natürlich nur, wenn die CMD und PowerShell nicht explizit gesperrt wurden. Ansonsten ginge noch ein VBS-Script.
Im Kontextmenü der MMC den Dialog "Liste exportieren..." aufrufen. Dort eine Verknüpfung zu z.B. "cmd.exe" erstellen und diese anschließend ausführen.
Das klappt natürlich nur, wenn die CMD und PowerShell nicht explizit gesperrt wurden. Ansonsten ginge noch ein VBS-Script.