Festlegen des Suchbereichs
Beschränken Sie den Suchbereich einer Suche auf ein einzelnes Objekt oder eine Teilmenge von Objekten, um die Leistung zu erhöhen. Dazu stellt DirectorySearcher die SearchScope-Eigenschaft bereit.
Der Suchbereich kann auf eine der folgenden drei Einstellungen festgelegt werden:
- Base: Durchsucht das gebundene Objekt und gibt nur das betreffende Objekt zurück, wenn das Suchkriterium erfüllt wird. Bei einer Bindung an die Domäne werden beispielsweise alle Objekte in der Domäne durchsucht und nur das gebundene Objekt zurückgegeben.
- OneLevel: Durchsucht alle Objekte auf derselben Ebene wie das gebundene Objekt. Bei einer Bindung an eine Gruppe werden beispielsweise alle Gruppen oder anderen Objekte durchsucht, die sich auf derselben Ebene befinden wie die betreffende Gruppe.
- Subtree: Durchsucht alle Objekte, die in der Unterstruktur des gebundenen Objekts enthalten sind, einschließlich des Basisobjekts. Bei einer Bindung an einen Server werden beispielsweise alle Objekte in der Hierarchie durchsucht, die sich auf derselben Ebene oder unter dem Server befinden. Dies ist der Standardwert. Wenn Sie eine synchronisierte Verzeichnissuche mit einem DirectorySynchronization-Objekt durchführen, muss die Anwendung den Bereich Subtree angeben.
In der folgenden Abbildung wird veranschaulicht, wie die einzelnen Bereiche in die Domänenhierarchie passen.
Im folgenden C#-Codebeispiel wird die Verwendung der SearchScope-Eigenschaft zum Durchsuchen einer Unterstruktur veranschaulicht.
DirectoryEntry entry = new DirectoryEntry("LDAP://CN=users,DC=fabrikam,DC=com");
DirectorySearcher mySearcher = new DirectorySearcher(entry);
mySearcher.SearchScope = SearchScope.Subtree;
mySearcher.Filter = "(&(objectClass=user)(anr=test*))";
SearchResultCollection ResEnt = mySearcher.FindAll();
{
// Handle results.
}
// Handle exceptions.
Siehe auch
Referenz
System.DirectoryServices
DirectorySearcher
SearchScope
DirectorySynchronization
Konzepte
Durchsuchen von Verzeichnissen
Send comments about this topic to Microsoft.
Copyright © 2007 Microsoft Corporation. Alle Rechte vorbehalten.