Active Directory Service Interface

Active Directory Service Interface (ADSI) 是一組植基於 COM 技術上的應用程式開發介面,程式開發人員可以利用這些介面來連接並存取 Active Directory,並執行查詢,更新或刪除等管理功能,ADSI同時可支援以LDAP(輕量級目錄存取協定)為主的目錄服務(例如Novell Directory Service),以及以 Windows NT 網域為主所組成的 WinNT 網域目錄。
介面結構
ADSI 由 COM 以及原生函式庫所組成,並封裝在 activeds.dll 檔案中,部份則被封裝在 advaip32.dll 中,以 COM 原生介面方式呈現,以提供給 C/C++ 程式語言透過 COM 介面來取用,但亦有支援 COM Automation 介面,因此 Visual Basic 或是 .NET Framework 的語言也可以利用 COM Interop 能力存取 ADSI 中的 COM Automation 介面。
原生介面 (Native interfaces)
自動化介面 (Automation interfaces)
函式
.NET Framework 原生介面
在 .NET Framework 中,另外提供了一個 .NET 專用的 ADSI 介面程式庫 System.DirectoryService.dll,程式開發人員可以加入此程式庫的參考來取得 ADSI 的功能,在這個原生類別庫中,封裝了兩個類別,作為存取 Active Directory 的入口之用。
- DirectoryEntry
此類別封裝了 IADs 以及 IADsContainer 等原生介面,用來存取 Active Directory 的物件資料,以及 Schema 封裝的資訊等等。
- DirectorySearcher
此類別封裝了 IDirectorySearch 介面,作為搜尋 Active Directory 的主要工具,並使用 SearchResult 物件封裝搜尋結果,讓 .NET 開發人員可以簡化處理搜尋結果的工作。