Abfragebereich
Der Bereich einer Abfrage wird durch das Objekt bestimmt, an das Sie binden. Wenn Sie nicht sicher sind, wo sich das Objekt innerhalb des Unternehmens befindet, müssen Sie eine möglichst umfassende Suche durchführen. Wenn Sie jedoch wissen, dass das Objekt in einer bestimmten Domäne enthalten sein wird, z. B. in der Domäne, mit der der Benutzer verbunden ist, oder innerhalb einer bestimmten Gruppe, z. B. der Gruppe "Manager", sollten Sie den Suchbereich so festlegen, dass er den Umstand widerspiegelt. Um eine optimale Leistung zu erzielen, sollten Sie versuchen, den Bereich so zu verwenden, dass die kleinste Anzahl von Objekten durchsucht wird.
Wenn Sie nicht sicher sind, wo sich ein Objekt im Unternehmen befindet, können Sie eine Bindung an den globalen Katalogdienst herstellen. Der globale Katalogdienst enthält eine Liste aller Objekte im Verzeichnis und eine kleine Teilmenge der Attribute jedes Objekts. Nachdem Sie das Objekt im globalen Katalog gefunden haben, können Sie seinen distinguished Name aus dem globalen Katalog abrufen und zum Binden an das Objekt verwenden, um andere Vorgänge auszuführen.
Nachdem Sie entschieden haben, an welches Objekt eine Bindung erfolgen soll, können Sie die Abfrage weiter auf einen der folgenden Bereiche beschränken: eine Basisabfrage, eine Abfrage mit einer Ebene oder eine Unterstruktursuche, wie in der folgenden Abbildung dargestellt.
Basis
Eine Basisabfrage beschränkt die Suche nur auf das Basisobjekt. Die maximale Anzahl der zurückgegebenen Objekte ist immer eins. Diese Suche kann verwendet werden, um das Vorhandensein eines Objekts zu überprüfen. Wenn Sie beispielsweise über den distinguished Name eines Objekts verfügen und das Vorhandensein des Objekts anhand des Pfads überprüfen müssen, können Sie eine Einebenensuche verwenden. Wenn die Suche fehlschlägt, können Sie davon ausgehen, dass das Objekt möglicherweise umbenannt oder an einen anderen Speicherort verschoben wurde oder dass Sie falsche Daten über das Objekt erhalten haben. Beachten Sie, dass Sie die GUID anstelle des distinguished Namens speichern sollten, wenn Sie ein Objekt erneut aufrufen möchten. Dadurch kann das Objekt umbenannt oder in der Verzeichnishierarchie verschoben werden, ohne den dauerhaften Link zu unterbrechen.
Eine Ebene
Eine Suche auf einer Ebene ist auf die unmittelbar untergeordneten Elemente eines Basisobjekts beschränkt, schließt jedoch das Basisobjekt selbst aus. Diese Einstellung kann eine gezielte Suche nach unmittelbar untergeordneten Objekten eines übergeordneten Objekts durchführen. Wenn Sie z. B. über ein übergeordnetes Objekt namens P1 verfügen, dessen unmittelbare untergeordnete Elemente die folgenden sind: C1, C2, C3, dann sollten bei einer Suche auf einer Ebene C1, C2 und C3 bei der Auswertung der Kriterien einbezogen werden, aber P1 wäre nicht Teil der Suche. Eine Suche mit einer Ebene kann verwendet werden, um alle untergeordneten Elemente eines Objekts aufzulisten. Tatsächlich wird bei einigen ADSI-Anbietern die IADsContainer-Enumeration in eine Ein-Ebenen-Suche übersetzt.
Unterstruktur
Eine Unterstruktursuche, die auch als deep search bezeichnet wird, umfasst alle Objekte unter dem Basisobjekt, mit Ausnahme des Basisobjekts selbst. Diese Suche generiert möglicherweise Verweise auf andere Server. Diese Suche hat den größten Bereich und gibt möglicherweise ein großes Resultset zurück. Suchen Sie nach Möglichkeit nach mindestens einem indizierten Attribut, und legen Sie die Empfehlungseinstellungen fest (weitere Informationen finden Sie unter Leistung und Behandlung großer Resultsets), um Ihren Suchanforderungen zu entsprechen. Es wird auch empfohlen, die Ergebnisse einer Unterstruktursuche asynchron auszuführen und auszublättern, um den Serveraufwand und die Netzwerkeffektivität zu reduzieren. Eine Unterstruktursuche wird normalerweise verwendet, um Objekte für einen bestimmten Bereich zu durchsuchen. Suchen Sie beispielsweise nach allen Benutzern mit Konten, die in maximal 30 Tagen ablaufen.