程式設計語言支援
您可以使用多種語言撰寫 ADSI 用戶端應用程式。 對於大部分的系統管理工作,ADSI 會定義可從符合自動化之語言存取的介面和物件。 例如,Microsoft Visual Basic 開發系統、Microsoft Visual Basic Scripting Edition (VBScript) 和 Java,以及更多效能和效率意識的語言,例如 C 和 C++。
與 Active Server Pages 和 VBScript 的 Smooth 整合可讓您輕鬆地撰寫可存取目錄服務的因特網應用程式。 為了與 OLE DB 應用程式整合,ADSI 藉由支援 OLE DB 查詢介面的子集來提供 OLE DB 提供者。 OLE DB 提供者支援對 Active Directory 的唯讀存取。
針對因特網應用程式,在 Active Server Page (ASP) 檔案中使用腳本,可以在伺服器上建立及操作 ADSI 物件,並在網頁中顯示結果。 在 Microsoft Management Console 中,目錄服務系統管理嵌入式管理單元可以使用 ADSI 來尋找感興趣的目錄服務。 簡言之,Active Directory 服務介面可以提供廣泛且多樣化的目錄服務的存取權,包括尚未建置的目錄服務。
為了存取使用傳統 API 的結構,ADSI 架構會定義不支援從 C 和 C++ 等語言存取的自動化低階介面。 這些介面比目錄服務網路協定的 COM 包裝函式少得多。
撰寫程式代碼至已發佈的介面可讓應用程式連線到所有已安裝 ADSI 提供者的目錄服務,並整合產生的數據。 只要程式代碼幾乎沒有變更,您的應用程式就可以繼續存取網路上的其他目錄服務,因為已安裝新的 ADSI 提供者。
下圖顯示 ADSI 如何融入應用程式環境。 無論應用程式是以 Visual Basic、C/C++、VBScript、Microsoft JScript 開發系統或作為使用 Active Server Pages 的 Web 應用程式撰寫,Active Directory 服務介面都提供全新且易於使用的基礎目錄服務存取權,而不需要使用原生網路 API。
如上圖所示,不支援自動化的用戶端可以存取所有 ADSI 介面,包括具有命名慣例 IDirectoryXXX 的純 COM 介面,以及具有命名慣例 IADsXXX 的自動化 COM 介面。 由於用戶端主要會向目錄服務要求資訊,因此透過 OLE DB 和 IDirectorySearch 的 ADSI 彈性查詢模型很有效。