<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-Hant-TW">
	<id>https://wiki.taigi.ima.org.tw/w/index.php?action=history&amp;feed=atom&amp;title=ActiveDirectoryServiceInterface</id>
	<title>ActiveDirectoryServiceInterface - 修訂紀錄</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.taigi.ima.org.tw/w/index.php?action=history&amp;feed=atom&amp;title=ActiveDirectoryServiceInterface"/>
	<link rel="alternate" type="text/html" href="https://wiki.taigi.ima.org.tw/w/index.php?title=ActiveDirectoryServiceInterface&amp;action=history"/>
	<updated>2026-05-16T22:01:46Z</updated>
	<subtitle>本 wiki 上此頁面的修訂紀錄</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://wiki.taigi.ima.org.tw/w/index.php?title=ActiveDirectoryServiceInterface&amp;diff=490469&amp;oldid=prev</id>
		<title>TaiwanTonguesApiRobot：​從 JSON 檔案批量匯入</title>
		<link rel="alternate" type="text/html" href="https://wiki.taigi.ima.org.tw/w/index.php?title=ActiveDirectoryServiceInterface&amp;diff=490469&amp;oldid=prev"/>
		<updated>2025-08-23T20:04:59Z</updated>

		<summary type="html">&lt;p&gt;從 JSON 檔案批量匯入&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新頁面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Active Directory Service Interface&amp;#039;&amp;#039;&amp;#039;( ADSI ) 是一組植基於 COM 技術上的應用程式開發介面，程式開發人員會當利用遮的介面來連接共存取 Active Directory，閣執行查詢，閣較新或者是管理功能，ADSI 同時會當支援 LDAP（輕量級 kha-tá-lok-guh 存取協定）為主的 kha-tá-lok-guh 服務（比如講 Novell Directory Service）， 以及以及 Windows NT 網域為主所組成的 WinNT 網域 kha-tá-lok-guh。&lt;br /&gt;
&lt;br /&gt;
==介面結構==&lt;br /&gt;
&lt;br /&gt;
ADSI 由 COM 以及原生函式庫所組成，並封裝佇咧 activeds . dll 檔案中，部份則予人封裝佇 advaip 三十二 . dll 中，以 COM 原生介面的方式表現，以提供予 C / C + + 程式語言透過 COM 介面來取用，毋過因為所有的原生介面攏支援 COM Automation，所以 Visual Basic 抑是講 . NET Framework 語言嘛會當用 COM Interop 能力存取 ADSI 中的介面。&lt;br /&gt;
&lt;br /&gt;
===原生介面 ( Native interfaces )===&lt;br /&gt;
&lt;br /&gt;
activeds . dll 中封裝幾个 ADSI 上核心的介面：&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;IADs&amp;#039;&amp;#039;&amp;#039;：作為所有 Active Directory 物件上頂層的介面，擁有上基礎的功能，&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;IADsContainer&amp;#039;&amp;#039;&amp;#039;：做為所有可收納 Active Directory 物件的收納器 ( Container ) 上頂層的介面，有收納器的基礎功能。&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;IADsOpenDSObject&amp;#039;&amp;#039;&amp;#039;：連接 Active Directory 之用（伊干焦 OpenDSObject ( ) 一个方法）， 同時伊會緊取住用來連接的安全資訊內容。&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;IADsNamespace&amp;#039;&amp;#039;&amp;#039;：由 kha-tá-lok-guh 服務提供者 ( directory service provider ) 提供，用來識別 kha-tá-lok-guh 結構的號名空間之用。&lt;br /&gt;
&lt;br /&gt;
activeds . dll 亦提供幾个依東西無仝款實作的介面，像講：&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;IADsComputer&amp;#039;&amp;#039;&amp;#039;：提供 kha-tá-lok-guh 服務中的電腦 ( computer ) 東西。&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;IADsDomain&amp;#039;&amp;#039;&amp;#039;：提供 kha-tá-lok-guh 服務中的網域 ( domain ) 東西。&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;IADsUser&amp;#039;&amp;#039;&amp;#039;：提供 kha-tá-lok-guh 服務的使用者 ( user ) 東西。&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;IADsGroup&amp;#039;&amp;#039;&amp;#039;：提供 kha-tá-lok-guh 服務的使用者群組 ( group ) 東西。&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;IADsOU&amp;#039;&amp;#039;&amp;#039;：提供 kha-tá-lok-guh 服務的組織單元 ( organization unit ) 東西。&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;IADsCollection&amp;#039;&amp;#039;&amp;#039;：提供 kha-tá-lok-guh 服務物件集合。&lt;br /&gt;
&lt;br /&gt;
咧使用 ADSI 之時，有當時仔需要一寡工具型的功能，像講 DOMAIN \ user 和 User Principal Name 中央的轉換，抑是取得系統資訊等等，ADSI 嘛提供這類的介面：&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;IADsNameTranslate&amp;#039;&amp;#039;&amp;#039;：佇咧 kha-tá-lok-guh 服務中佇咧無仝款的名稱間轉換。&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;IADsWinNTSystemInfo&amp;#039;&amp;#039;&amp;#039;：佇咧 kha-tá-lok-guh 服務內底取得 Windows NT Directory Service 系統資訊。&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;IADsADSystemInfo&amp;#039;&amp;#039;&amp;#039;：佇咧 kha-tá-lok-guh 服務內底取得 LDAP Directory Service 系統資訊。&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;IADsPathname&amp;#039;&amp;#039;&amp;#039;：分析 X . 五百名講和路徑。&lt;br /&gt;
&lt;br /&gt;
咱遮的介面多攏是使用 C / C + + 程式語言來存取，如果使用 VB 抑是講 Scripting Language 時，則會當使用另外的方法來存取。&lt;br /&gt;
&lt;br /&gt;
===函式===&lt;br /&gt;
&lt;br /&gt;
ADSI 除了介面以外，嘛將部份功能用函式方式顯露，以簡化呼叫原生介面需要處理工課，較重要而且定定予人使用的有：&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;ADsOpenDSObject ( )&amp;#039;&amp;#039;&amp;#039;，封裝取得 IADs 抑是 IADsContainer 這个物件的工課。&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;ADsGetObject ( )&amp;#039;&amp;#039;&amp;#039;，封裝利用已經開啟的 Active Directory Session 取得物件的工作。&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;ADsGetLastError ( )&amp;#039;&amp;#039;&amp;#039;，取得佇 ADSI 作業中，最後一个引發的錯誤。&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;AllocADsMem ( )&amp;#039;&amp;#039;&amp;#039;,&amp;#039;&amp;#039;&amp;#039;FreeADsMem ( )&amp;#039;&amp;#039;&amp;#039;,&amp;#039;&amp;#039;&amp;#039;AllocADsStr ( )&amp;#039;&amp;#039;&amp;#039;,&amp;#039;&amp;#039;&amp;#039;FreeADsStr ( )&amp;#039;&amp;#039;&amp;#039;，組態佮釋放 ADSI 使用的資源。&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;ADsBuildEnumerator ( )&amp;#039;&amp;#039;&amp;#039;,&amp;#039;&amp;#039;&amp;#039;ADsEnumerateNext ( )&amp;#039;&amp;#039;&amp;#039;,&amp;#039;&amp;#039;&amp;#039;ADsFreeEnumerator ( )&amp;#039;&amp;#039;&amp;#039;：處理 ADSI 物件的列舉工作。&lt;br /&gt;
&lt;br /&gt;
伊下列的例，是使用 ADsOpenDSObject ( ) 取得 IADs 物件的範例程式碼：&lt;br /&gt;
&lt;br /&gt;
===. NET Framework 原生介面===&lt;br /&gt;
&lt;br /&gt;
佇咧 . NET Framework 中，另外提供一个 . NET 專用的 ADSI 介面程式庫 System . DirectoryService . dll，程式開發人員會當加入這寡程式的參考來取得 ADSI 的功能，佇這个原生類別庫內底，封裝兩个類別，做一个存取 Active Directory 的入口之用。&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;DirectoryEntry&amp;#039;&amp;#039;&amp;#039;：這類別封裝了 IADs 以及 IADsContainer 等原生介面，用來儉取 Active Directory 的物件資料，以及 Schema 封裝的資訊等等。&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;DirectorySearcher&amp;#039;&amp;#039;&amp;#039;：這類別封裝了 IDirectorySearch 介面，做為搜揣 Active Directory 的主要工具，並使用 SearchResult 物件封裝搜揣結果，予 . NET 開發人員會當簡單來處理搜揣結果的工課。&lt;br /&gt;
&lt;br /&gt;
截至 . NET Framework 三-c五為止，ADSI 佇咧 Managed Class Library 中間有四个號名空間：&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;System . DirectoryServices&amp;#039;&amp;#039;&amp;#039;：原生的 ADSI Managed 介面，封裝 DirectoryEntry 和 DirectorySearcher 佮工具類別。&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;System . DirectoryServices . AccountManagement&amp;#039;&amp;#039;&amp;#039;：封裝嘿 IADsUser , IADsComputer , IADsGroup 等介面，簡化處理物件的工具。&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;System . DirectoryServices . ActiveDirectory&amp;#039;&amp;#039;&amp;#039;：封裝嘿 Active Directory 結構物件的工具。&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;System . DirectoryServices . Protocol&amp;#039;&amp;#039;&amp;#039;：封裝嘿 LDAP 協定佮 kha-tá-lok-guh 服務通訊的工具佮基礎類別。&lt;br /&gt;
&lt;br /&gt;
下列為使用 C # 存取 DirectoryEntry 的範例程式碼：&lt;br /&gt;
&lt;br /&gt;
==kha-tá-lok-guh 服務提供者 ( directory service provider )==&lt;br /&gt;
&lt;br /&gt;
ADSI 因為是使用了 LDAP 以及開放式 kha-tá-lok-guh 等標準，因此只要 kha-tá-lok-guh 服務的平台是以開放式 kha-tá-lok-guh 標準實作 IADsNamespace 佮其他 kha-tá-lok-guh 服務提供者的時陣，即可由 ADSI 來支援，目前 ADSI 有五種提供者：&lt;br /&gt;
&lt;br /&gt;
* ADSI LDAP Provider：Active Directory 官方主要的支援介面，連接字串使用 LDAP : / / 為主。&lt;br /&gt;
* ADSI WinNT Provider：以 Windows NT 為主的支援介面，連接字串使用 WinNT : / / 為主。&lt;br /&gt;
* ADSI NDS Provider：支援 Novell Directory Service，連接字串使用 NDS : / / 為主。&lt;br /&gt;
* ADSI NWCOMPAT Provider：支援 Novell Netware 三 . x 的網路服務，連接字串使用 NWCOMPAT : / / 為主。&lt;br /&gt;
* ADSI IIS Provider：支援 IIS 內部的提供者，連接字串以 IIS : / / 為主，用佇存取 IIS Metabase。&lt;br /&gt;
&lt;br /&gt;
==OLE DB Provider for Directory Services==&lt;br /&gt;
&lt;br /&gt;
除了 ADSI 原生介面外，軟勢嘛為著 SQL Server 抑是講 ADO 應用程式開發人員發展矣會當使用 ADO 來儉取 Active Directory 的驅動程式，此驅動程式使用 OLE DB 來開發，並且使用類似 SQL 指令的方式來存取 Active Directory，此驅動的程式號做 OLE DB Provider for Directory Service，其實 COM 的 Prog ID 為&amp;#039;&amp;#039;&amp;#039;ADsDSOObject&amp;#039;&amp;#039;&amp;#039;。&lt;br /&gt;
&lt;br /&gt;
下例為使用 ADO 存取 Active Directory 的範例程式碼：&lt;br /&gt;
&lt;br /&gt;
下列指令為使用 SQL Server 查詢來合併存取 Active Directory 的指令碼：&lt;br /&gt;
&lt;br /&gt;
==開發 Directory-Enabled 應用程式的時陣會當用的工具==&lt;br /&gt;
&lt;br /&gt;
因為 ADSI 和 Active Directory 的特性，開發人員若無用適當的工具的時陣，真歹發展佮 kha-tá-lok-guh 服務連結 ( directory-enabled ) 的應用程式，就按呢微軟仔為 Active Directory 提供著兩種工具：&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;Active Directory Explorer&amp;#039;&amp;#039;&amp;#039;：由 Sysinternals 團隊所開發，伊這馬敆入去 Microsoft TechNet 團隊內底，會當用來瀏覽 AD 網路抑是樹系的 LDAP 階層字串，以及物件的資料。&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;ADSIEdit&amp;#039;&amp;#039;&amp;#039;：佇咧 Windows 兩千和 Windows Server 二千空三時，由 Resource Kit Support Tools 安裝包提供，到位矣 Windows Server 兩千空八時，則內起佇咧系統內底。&lt;br /&gt;
&lt;br /&gt;
==參考資料==&lt;br /&gt;
&lt;br /&gt;
內容參考：&lt;br /&gt;
&lt;br /&gt;
文章參考：&lt;br /&gt;
&lt;br /&gt;
一 . MSDN Library : Active Directory Service Interface&lt;br /&gt;
二 . Directory Service in . NET Framework&lt;br /&gt;
&lt;br /&gt;
[[分類: 待校正]]&lt;/div&gt;</summary>
		<author><name>TaiwanTonguesApiRobot</name></author>
	</entry>
</feed>