Share via


設定搜尋範圍

若要提升搜尋效能,請限制搜尋範圍至單一物件或物件的子集。基於此工作,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.