System.DirectoryServices.ActiveDirectory 案例
System.DirectoryServices.ActiveDirectory 命名空間設計用來簡化應用程式與公用程式的開發,以執行與 Active Directory 網域服務相關的一般工作。此命名空間為高階 API,運用有關 Active Directory 網域服務結構、Active Directory 網域服務網路及一般 Active Directory 網域服務作業 (如複寫與信任管理) 的大量知識。System.DirectoryServices.ActiveDirectory 包含代表一般 Active Directory 網域服務項目的物件,如樹系、網域控制站、結構描述類別、結構描述屬性及複寫排程。
在許多情況下,執行工作只需存取 System.DirectoryServices.ActiveDirectory 命名空間提供的 Active Directory 網域服務。不過,對於一些進階工作,則可能必須存取未在 System.DirectoryServices.ActiveDirectory 命名空間中實作的物件屬性。若要執行此動作,應用程式可使用由許多 System.DirectoryServices.ActiveDirectory 物件實作的 GetDirectoryEntry 方法。使用此方法,應用程式可為物件擷取 DirectoryEntry。接著,應用程式可以使用該類別或 System.DirectoryServices 中其他相關類別提供的方法,來檢查或更新 DirectoryEntry。以這種方式,即使需要進階 Active Directory 網域服務功能的應用程式也可以利用 System.DirectoryServices.ActiveDirectory 中的許多物件特定方法尋找特定目錄物件,或列舉特定類型的一系列目錄物件 (即開發人員使用基本的 Active Directory 網域服務結構描述知識所撰寫、且程式碼行數也較少的物件)。實作 GetDirectoryEntry 方法的 System.DirectoryServices.ActiveDirectory 類別包括:
- ActiveDirectoryInterSiteTransport
- ActiveDirectoryPartition
- ActiveDirectorySchema
- ActiveDirectorySchemaClass
- ActiveDirectorySchemaProperty
- ActiveDirectorySite
- ActiveDirectorySiteLink
- ActiveDirectorySiteLinkBridge
- ActiveDirectorySubnet
- ADAMInstance
- ApplicationPartition
- ConfigurationSet
- DirectoryServer
- Domain
- DomainController
- GlobalCatalog
- ReplicationConnection
另一個有用的 System.DirectoryServices 物件是 System.DirectoryServices.DirectorySearcher 物件,它會執行 Active Directory 網域服務子樹狀目錄的搜尋。在應用程式取得 DirectoryEntry 物件後,會建立 DirectorySearcher 物件來搜尋含有根 DirectoryEntry 的 Active Directory 網域服務子樹狀目錄。應用程式也可以使用任一物件的 GetDirectorySearcher 方法,直接從 DomainController 或 GlobalCatalog 物件取得 System.DirectoryServices.DirectorySearcher 物件。
結構描述管理案例
應用程式可使用 System.DirectoryServices.ActiveDirectory 命名空間中的類別查詢和更新結構描述,無需運用艱深的結構描述知識。
ActiveDirectorySchema 類別包含列舉類別的方法,如 FindAllClasses 與 FindAllDefunctClasses。應用程式可以藉由檢查列舉方法找到的每個 ActiveDirectorySchemaClass 物件的屬性,以識別相關的結構描述類別。此時,應用程式可以產生類別的報告,或更新選取之 ActiveDirectorySchemaClass 物件的一或多個屬性。此應用程式也可以使用該物件的 MandatoryProperties 或 OptionalProperties 集合來存取 ActiveDirectorySchemaProperty 物件集,其中包含有關該類別結構描述屬性的詳細資訊,例如其在通用類別目錄中是現存或無用的類別。
同樣地,如果應用程式需要識別具有某些特性的結構描述屬性,可以呼叫 ActiveDirectorySchema 類別的 FindAllProperties 方法來列舉屬性。然後,程式會檢查傳回的每個 ActiveDirectorySchemaProperty 物件的屬性,視需要修改或報告該物件的詳細資料。
拓撲管理案例
應用程式可以使用 System.DirectoryServices.ActiveDirectory 命名空間中的類別來檢查和修改 Active Directory 網域服務安裝的拓撲。
應用程式可以檢視或更新 Active Directory 網域服務物件中的資訊,例如 Forest、Domain、ActiveDirectorySite 以及 ActiveDirectorySubnet。其也可使用下列兩種方式的任一種來探索物件之間的關係:
- 使用那些物件的方法與屬性,傳回不同類型的一或多個物件。例如,若要列出所有網站中的所有網域,應用程式可以透過 ActiveDirectorySiteCollection 來列舉。應用程式可以為 ActiveDirectorySiteCollection 中的每個 ActiveDirectorySite 擷取 Domains 集合,然後產生列有每個網站包含之所有網域名稱的報告。
- 存取代表上述 Active Directory 網域服務物件之間關係的其他物件。例如,ActiveDirectorySiteLink 物件的 Sites 屬性會擷取該 ActiveDirectorySiteLink 物件中包含之所有網站的集合。同樣地,ActiveDirectorySiteLinkBridge 物件的 SiteLinks 屬性會擷取與該 ActiveDirectorySiteLinkBridge 物件相關之所有 ActiveDirectorySiteLink 物件的集合。
樹系或網域信任管理案例
應用程式可以存取為 Domain 或 Forest 物件定義的所有信任之集合。在任一狀況下,應用程式都可以使用任一物件的 GetAllTrusts 方法來傳回 TrustRelationshipInformationCollection 物件。然後,應用程式可以逐一查看該集合,以顯示或更新其所包含的 TrustRelationshipInformation 物件。System.DirectoryServices.ActiveDirectory 命名空間也定義其他物件,如 TrustDirection 與 TrustType,這些物件提供列舉的值,分別代表有效的信任方向與信任類型。
複寫監視案例
System.DirectoryServices.ActiveDirectory 命名空間的另一個常見用法是監視 Active Directory 網域服務複寫。
System.DirectoryServices.ActiveDirectory 會實作許多類別,其中包含複寫狀態資訊,例如:ReplicationConnection、ReplicationCursor、ReplicationFailure、ReplicationOperation 和 ReplicationOperationInformation。
例如,若要報告定義於特定網域控制站上之所有分割的複寫狀態,應用程式可以檢查與每個分割關聯的 ReplicationCursor 物件。應用程式可以使用 DomainController 物件的 FindOne 方法,尋找相關的 DomainController。然後,其可參考 DomainController 的 Partitions 集合屬性,列舉該網域控制站上的所有分割。應用程式可以使用 GetReplicationCursors 方法取得該分割的所有 ReplicationCursor 物件之集合,並列舉 ReplicationCursor 物件的集合以顯示屬性值,如 SourceServer、SourceInvocationId 以及 LastSuccessfulSyncTime。
請參閱
概念
System.DirectoryServices.ActiveDirectory 命名空間概觀
System.DirectoryServices.ActiveDirectory 架構
Send comments about this topic to Microsoft.
Copyright © 2008 by Microsoft Corporation.All rights reserved.