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 域服务子树。应用程序还可以通过使用 DomainController 或 GlobalCatalog 对象的 GetDirectorySearcher 方法,直接从这两个对象获取 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 进行枚举。应用程序可以检索 Domains 中每个 ActiveDirectorySiteCollection 的 ActiveDirectorySite 集合,然后生成一个报告,为每个站点列出它所包含的所有域的名称。
- 访问表示上述 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.
版权所有 © 2008 Microsoft Corporation。保留所有权利。