System.DirectoryServices.ActiveDirectory 技术摘要

System.DirectoryServices.ActiveDirectory 是 .NET Framework 的一个组件,该组件可以使程序执行与分区、架构、复制、信任和 Active Directory 域服务配置相关的 Active Directory 域服务管理任务。

System.DirectoryServices.ActiveDirectory 是对 Active Directory 域服务和 AD LDS 进行了简化的简单接口,对于应用程序开发人员和要自动化常见管理任务的系统管理员而言,十分有用。尽管此命名空间提供的某些功能通过现有的 System.DirectoryServices 类也可以获得,但使用 System.DirectoryServices.ActiveDirectory 执行许多任务时,编写代码所需的行数将会减少,对 Active Directory 域服务掌握程度的要求也有所降低。

关键字

Active Directory 域服务管理, Active Directory 域服务脚本, 管理应用程序, Active Directory 域服务架构, 复制, 林, 信任, AD LDS

System.DirectoryServices.ActiveDirectory

相关技术

System.DirectoryServices

System.DirectoryServices.ActiveDirectory 对象实现的许多任务同样也可以用 System.DirectoryServices 对象实现。System.DirectoryServices 中的类提供对各种目录服务(包括 Active Directory 域服务、基于 LDAP 的目录、SAM、Novell Netware 和 IIS 目录)的一般性访问。System.DirectoryServices.ActiveDirectory 提供了一个简化的模型,用于访问和处理特定于 Active Directory 域服务的常用对象,例如域、架构属性、信任关系和复制计划。在 System.DirectoryServices 中不支持 System.DirectoryServices.ActiveDirectory 所提供的很大一部分功能。由于 System.DirectoryServices 的不适应特殊环境的性质,即使在 System.DirectoryServices 确实支持等效功能时,应用程序开发人员也必须编写更多的代码来执行相同的操作。

System.DirectoryServices.Protocols

System.DirectoryServices.Protocols 命名空间通过轻型目录访问协议 (LDAP) 版本 3.0 (V3) 和目录服务标记语言 (DSML) 版本 2.0 (V2) 标准,提供对目录服务的、以编程方式进行的一般性访问和管理。System.DirectoryServices.Protocols 为托管 LDAP 编程提供最高级别的控制和最高的性能。与 System.DirectoryServices 一样,System.DirectoryServices.Protocols 不是专为 Active Directory 域服务和 AD LDS 任务而设计的。

用于 Windows 的 DSML 服务

通过 Windows 的目录服务标记语言 (DSML) 服务,应用程序能够使用 XML 文档通过 SOAP-DSML 消息对 Active Directory 域服务执行读写操作。在使用此技术时,将采用 MS XML 对象之类的 COM 对象来处理消息。对于使用 .NET 本机接口的 DSML 处理,使用 System.DirectoryServices.Protocols 命名空间中的接口。有关用于 Windows 的 DSML 服务详细信息,请参阅 MSDN Library 中“Win32 和 COM 开发 SDK 文档”副标题下“目录服务”中的“用于 Windows 的 DSML 服务”。

Active Directory 域服务 COM 接口和 Win32 函数

通过 Active Directory 域服务 COM 接口和 Win32 函数,基于 Win32 的程序能够访问特定于 Active Directory 域服务的管理对象并与 MMC Active Directory 管理单元集成。这些技术在非常低的目录级别与 Active Directory 域服务交互,因此,在使用 System.DirectoryServicesSystem.DirectoryServices.ActiveDirectory 命名空间完成相同任务所需的编程步骤相比,这些技术通常需要进行更复杂的编程。它们还提供托管类未提供的一些功能,因此,在实现某些类型的应用(例如向 MMC 管理单元页添加新内容)时,必须使用 Active Directory 域服务 COM 接口和 Win32 函数。有关这些技术的详细信息,请参阅 MSDN Library 中“Win32 和 COM 开发 SDK 文档”副标题下“目录服务”中的“Active Directory 域服务”。

ADSI

Active Directory 服务接口 (ADSI) 是一组自动化和非自动化 COM 接口,提供对特定于 Active Directory 域服务的管理对象、应用程序对象和 Active Directory 域服务架构的访问。ADSI 中的自动化接口可用于编写脚本。C++、C# 和 VB.Net 等也支持非自动化 COM 接口的语言可以使用这两种类型的接口开发应用程序。有关 ADSI 的详细信息,请参阅 MSDN Library 中“Win32 和 COM 开发 SDK 文档”副标题下“目录服务”中的“AActive Directory 服务接口”。

LDAP

轻型目录协议 (LDAP) API 提供对基于 LDAP 的目录(包括 Active Directory 域服务)的访问。它使用标准 LDAP 协议访问、搜索和处理目录项。与 Active Directory 域服务 COM 接口和 Win32 函数类似,LDAP 使开发人员能够通过其目录路径访问对象。但是,由于 LDAP 本身不能识别 Active Directory 域服务的特定结构,因此,与其他 Active Directory Domain Services 应用程序开发方法相比,基于 LDAP 的 Active Directory 域服务应用程序通常更复杂且涉及更多的代码。有关 LDAP 的详细信息,请参阅 MSDN Library 中“Win32 和 COM 开发 SDK 文档”副标题下“目录服务”中的“轻型目录访问协议”。

背景

System.DirectoryServices.ActiveDirectory 命名空间包含一组 .NET 类,这些类可以简化管理和访问 Active Directory 域服务内容的应用程序的开发过程。

通过 .NET Framework 的早期版本,应用程序开发人员能够使用 System.DirectoryServices 命名空间访问 Active Directory 域服务项。但是,由于已开发了 System.DirectoryServices 以用于提供对多种不同类型的目录服务(而不只限于 Active Directory 域服务)的访问,因此,它并不包含提供对特定于 Active Directory 域服务和 AD LDS 的功能(例如由林和域组成的分区以及由站点、子网和站点链接组成的拓扑)的直接访问的类。如果开发人员知道相关的元素的路径并且正确构造了表示该路径的字符串,同时所有对象都存储于 Active Directory 域服务中,但 System.DirectoryServices 命名空间本身并不清楚 Active Directory 域服务的结构,则可以通过 System.DirectoryServices 访问这些元素。此外,有时必须检索或更新两个或多个元素,才能实现 Active Directory 域服务管理任务。

在许多组织中,对目录服务 Active Directory 域服务的依赖性日益增强,因此,应用程序开发人员需要一种更简单的方式访问和更新拓扑信息并控制 Active Directory 域服务进程。这一新机制将只要求对 Active Directory 域服务架构的内部结构有最基本了解,并使开发人员通过尽可能少的应用程序代码行即可执行与 Active Directory 域服务相关的常见任务。System.DirectoryServices.ActiveDirectory 就是为满足这些需求而设计的。

使用 .NET Framework 编写的应用程序可以使用 System.DirectoryServices.ActiveDirectory 类(例如 ForestDomainActiveDirectorySiteLink)来枚举和浏览 Active Directory 域服务树的拓扑。为了使用 System.DirectoryServices.ActiveDirectory 类引用对象,应用程序开发人员只需要知道该对象在层次结构中的位置,例如名为“sales”的域位于“contoso.com”林中。类似地,开发人员可以通过 ReplicationOperation 之类的类检查和控制对 Active Directory 域服务的操作的进度,或者通过 ActiveDirectorySchema 之类的类查询或修改 Active Directory 域服务架构本身。

开发人员有时可能需要访问通过 System.DirectoryServices 提供的附加功能,同时还要利用 System.DirectoryServices.ActiveDirectory 类来导航 Active Directory 域服务拓扑。为了实现此目的,应用程序通常可以获取对实际 DirectoryEntry 对象的引用,该对象对应于 System.DirectoryServices.ActiveDirectory 命名空间中开发人员感兴趣的某个对象。然后,应用程序可以使用 DirectoryEntry 对象访问通过 System.DirectoryServices 命名空间中的类提供的功能,例如读取和写入 Active Directory 域服务项的安全描述符。

有关 System.DirectoryServicesSystem.DirectoryServices.ActiveDirectory 命名空间的详细信息,请参阅 .NET Framework 类库参考。.NET Framework 还包含常规的 .NET Framework 编程信息。

应用程序使用 System.DirectoryServices.ActiveDirectory 命名空间中与拓扑相关的类的实例,访问特定的拓扑对象(例如特定 Active Directory 域服务林中的特定域控制器)或枚举拓扑对象集合中的项(例如某个站点中的所有子网)。这些类还可以用于查询或更新拓扑对象之间的关系,例如林和域信任。

应用程序使用 System.DirectoryServices.ActiveDirectory 命名空间中与架构相关的类的实例,检查 Active Directory 域服务架构元素及其属性。

要监视和配置复制,应用程序应使用 System.DirectoryServices.ActiveDirectory 命名空间中与复制相关的类。

以下各表列出了在开发与某些功能领域相关的应用程序时使用的主要类。这并不是该命名空间中所有类的完整列表。

技术范围 类/接口/配置元素

连接到 Active Directory 域服务对象存储(这是执行其他任务的先决条件)

DirectoryContext

查询或修改林配置数据,例如林模式、信任、计算机角色和站点列表

Forest

查询或修改域配置数据,例如域模式、信任、计算机角色和域拓扑

Domain ,

DomainCollection ,

ActiveDirectoryPartition

查询应用程序分区的域控制器、副本和安全引用域

ApplicationPartition , ApplicationPartitionCollection ,

ActiveDirectoryPartition

查询或修改 Active Directory 域服务或 AD LDS 目录服务器配置数据,例如复制参数、站点成员资格和服务器元数据(例如角色);执行复制功能

DirectoryServer ,

DirectoryServerCollection ,

ADAMInstance , ADAMInstanceCollection ,

ConfigurationSet

查询或修改域控制器配置数据,例如默认分区、复制参数、当前时间、最高 USN 和全局编录状态;列出所有域控制器;执行复制功能

DomainController , DomainControllerCollection

查询全局编录配置数据,例如复制属性的列表;列出所有全局编录

GlobalCatalog , GlobalCatalogCollection

查询和修改某一子网所分配到的站点

ActiveDirectorySubnet , ActiveDirectorySubnetCollection

查询和修改站点信息,例如其桥头服务器、相邻站点和站点中子网的列表

ActiveDirectorySite ,

ActiveDirectorySiteCollection

查询所有传输、站点链接和站点链接桥的列表;设置用于桥接所有站点链接或忽略复制计划的参数

ActiveDirectoryInterSiteTransport

查询和修改用于站点链接和站点链接桥的配置数据

ActiveDirectorySiteLink ,

ActiveDirectorySiteLinkCollection ,

ActiveDirectorySiteLinkBridge

查询复制元数据和值

ActiveDirectoryReplicationMetaData ,

AttributeMetaData,

AttributeMetadataCollection

查询和修改复制配置数据,例如计划、传输类型和连接可用性

ReplicationConnection ,

ReplicationConnectionCollection

查询复制进程详细信息,例如挂起操作、状态、上一次成功同步的时间和复制错误

ReplicationCursor ,

ReplicationCursorCollection ,

ReplicationNeighbor ,

ReplicationNeighborCollection ,

ReplicationOperation ,

ReplicationOperationCollection ,

ReplicationOperationInformation ,

ReplicationFailure ,

ReplicationFailureCollection

查询架构配置数据、类和属性;在进行架构更改后重置架构缓存

ActiveDirectorySchema

查询和修改架构类详细信息

ActiveDirectorySchemaClass ,

ActiveDirectorySchemaClassCollection

查询和修改架构属性详细信息

ActiveDirectorySchemaProperty ,

ActiveDirectorySchemaPropertyCollection

查询和修改信任配置信息

ForestTrustDomainInformation ,

ForestTrustDomainInfoCollection ,

ForestTrustRelationshipCollision ,

ForestTrustRelationshipCollisionCollection ,

ForestTrustRelationshipInformation ,

TrustRelationshipInformation ,

TrustRelationshipInformationCollection

新增功能

System.DirectoryServices.ActiveDirectory 是在 Visual Studio 2005 中引入的全新基于任务的类层次结构,它简化了向应用程序添加 Active Directory 域服务和 AD LDS 相关功能的过程。

另请参见

概念

System.DirectoryServices.ActiveDirectory 命名空间概述

Send comments about this topic to Microsoft.

版权所有 © 2008 Microsoft Corporation。保留所有权利。