搜尋目錄
搜尋是最常見的目錄工作。雖然 DirectoryEntry 物件可用來執行簡單搜尋,例如尋找執行簡單操作 (如繫結至網域) 所需的單一目錄物件,但它卻無法執行複雜的搜尋或傳回大量的結果集。
若要新增完備的搜尋作業至應用程式,請使用 DirectorySearcher 物件。DirectorySearcher 物件提供一組屬性和方法,可讓您選取多個搜尋準則,如搜尋範圍、篩選、萬用字串、結果集的頁面大小及排序。
本節包括下列主題:
在執行搜尋之前,您必須熟悉 DirectorySearcher 物件與目錄搜尋概念。若您先前使用 ADSI,則您可能已經使用過 IDirectorySearch COM 介面。DirectorySearcher 物件是 IDirectorySearch 的包裝函式。如需有關此介面的詳細資訊,請參閱<IDirectorySearch>主題,此主題位於 MSDN Library,網址為 https://go.microsoft.com/fwlink/?LinkID=27252 (本頁面可能為英文)。
若要執行搜尋,應用程式必須先繫結到目錄的根點上。為獲得最佳效能,請選取將提供最小結果集的點。設定 DirectorySearcher 以提供下列用於搜尋操作的參數:
- 可將搜尋範圍縮小至特定物件類型的搜尋篩選
- 要搜尋的物件範圍
- 隨物件傳回的屬性清單
在設定此搜尋時,您必須決定要搜尋何種物件類型,然後為該物件類型建立搜尋篩選。DirectorySearcher 物件提供 Filter 屬性,此屬性需要使用 LDAP 語法的字串以做為篩選字串。
接著,您必須決定篩選範圍是應用程式所繫結的節點、一個層級或子樹狀目錄。SearchScope 屬性可用來設定此參數。最後,您必須決定隨物件傳回的屬性名稱與值。
您可以選擇性地使用 DirectorySynchronization 物件來執行目錄同步搜尋,它可讓應用程式執行搜尋、逐一查看所有結果、執行與搜尋無關的其他功能或使其暫時停用。應用程式最後將再度執行相同搜尋,以擷取該搜尋的任何新結果。依此方式,應用程式可追蹤符合搜尋準則的 Active Directory 網域服務更新。
下圖說明限定為 Sales 容器的搜尋。
DirectorySearcher 在 SearchResult 物件中傳回單一結果及其屬性。結果集以 SearchResultCollection 的形式傳回,這是搜尋傳回之所有 SearchResult 物件的容器。
DirectorySearcher 提供下列兩種執行搜尋的方法:
如需建立基本搜尋應用程式的詳細資訊與程序,請參閱 MSDN Library (網址為 https://go.microsoft.com/fwlink/?LinkID=27252 (本頁面可能為英文)) 中的搜尋 Active Directory 階層主題 (本頁面可能為英文)。
請參閱
參考
System.DirectoryServices
DirectoryEntry
DirectorySearcher
SearchScope
DirectorySynchronization
概念
System.DirectoryServices 使用者入門
Send comments about this topic to Microsoft.
Copyright © 2007 by Microsoft Corporation.All rights reserved.