Mit Blick auf Ihre Suche habe ich ein paar Punkte für Sie. Zuerst verwendet die Suche objectClass (nicht indiziert) anstelle von objectCategory (indiziert). Großes Leistungsproblem bei dieser Abfrage Sie würden wollen die meisten immer die beiden zusammen zu kombinieren, je nachdem, was Sie versuchen, abzurufen:
(&(objectCategory=person)(objectClass=user)) = All users (no contacts)
(&(objectCategory=person)(objectClass=contact)) = All contacts (no users)
(&(objectCategory=person)) = All users and contacts
Was suchen die Benutzer in einer Gruppe auf die Liste der Mitgliedsobjekte der spezifischen Gruppe aufzählen kann. Im Mitgliederattribut des Gruppenobjekts ist der distinguishedName jedes Benutzers.
This article describes enumerating members of a group...
Vergessen Sie nicht, dass Sie verschachtelte Gruppen von der übergeordneten Gruppe behandeln müssen können, da es keine Standardmethode behandeln dies mit LDAP-Abfragen ist. Dazu müssen Sie möglicherweise auswerten, ob das Elementobjekt eine Gruppe ist, und dann das Elementattribut für diese untergeordnete Gruppe abrufen.
Schließlich sollten Sie sich angewöhnen, Ihrer Abfrage ein DNS Präfix zu geben.
Ohne DNS-Präfix:
LDAP://ou=ouname,dc=domain,dc=com
Mit DNS-Präfix (alle drei Arbeits):
LDAP://servername/ou=ouname,dc=domain,dc=com
LDAP://servername.domain.com/ou=ouname,dc=domain,dc=com
LDAP://domain.com/ou=ouname,dc=domain,dc=com
Eine einzelne Domain wird Sie nicht viel Problem verursachen, aber wenn Sie versuchen, und führen Sie eine Suche in Eine Multidomain-Umgebung wird ohne diesen Zusatz gebissen. Hoffe, das hilft dir, dich deinem Ziel näher zu bringen.
Das war eine sehr nachdenkliche Antwort. – wcm
Das Hinzufügen von (objectCategory = person) hat die Suche merklich beschleunigt. Danke vielmals. – wcm
Falsch. Im Mitgliederattribut des Gruppenobjekts ist der distinguishedName jedes Benutzers OR ANDERE ** GROUP ** NAME ... –