設定搜尋範圍
若要提升搜尋效能,請限制搜尋範圍至單一物件或物件的子集。基於此工作,DirectorySearcher 提供 SearchScope 屬性。
搜尋範圍可以設定為下列三個設定之一:
- Base。搜尋限定的物件,如果符合搜尋條件,則只傳回該物件。例如,如果限定為網域,則會搜尋網域中所有內容,然後只傳回限定的物件。
- OneLevel。搜尋與限定的物件相同層級中所含的所有物件。例如,如果限定為群組,則會搜尋與該群組在相同層級的所有群組或其他物件。
- Subtree。搜尋限定物件子樹狀目錄中所含的所有物件,包括基底物件。例如,如果限定為伺服器,則會搜尋相同層級的階層或在該伺服器階層下的所有物件。此為預設值。若您使用 DirectorySynchronization 物件執行目錄同步搜尋,則應用程式需要指定 Subtree 範圍。
下列範例示範這些範圍如何適用於網域階層中。
下列 C# 程式碼範例示範如何使用 SearchScope 屬性來搜尋子樹狀目錄。
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.
請參閱
參考
System.DirectoryServices
DirectorySearcher
SearchScope
DirectorySynchronization
概念
Send comments about this topic to Microsoft.
Copyright © 2007 by Microsoft Corporation.All rights reserved.