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 和 ADAM 任务而设计的。
用于 Windows 的 DSML 服务
通过 Windows 的目录服务标记语言 (DSML) 服务,应用程序能够使用 XML 文档通过 SOAP-DSML 消息对 Active Directory 执行读写操作。在使用此技术时,将采用 MS XML 对象之类的 COM 对象来处理消息。对于使用 .NET 本机接口的 DSML 处理,使用 System.DirectoryServices.Protocols 命名空间中的接口。有关用于 Windows 的 DSML 服务的详细信息,请参阅 MSDN Library(网址为 http://msdn.microsoft.com/library)中“Win32 和 COM 开发 SDK 文档”副标题下“目录服务”中的“用于 Windows 的 DSML 服务”。
Active Directory COM 接口和 Win32 函数
通过 Active Directory COM 接口和 Win32 函数,基于 Win32 的程序能够访问特定于 Active Directory 的管理对象并与 MMC Active Directory 管理单元集成。这些技术在非常低的目录级别与 Active Directory 交互,因此,与使用 System.DirectoryServices 和 System.DirectoryServices.ActiveDirectory 命名空间完成相同任务所需的编程步骤相比,上述技术通常需要进行更复杂的编程。它们还提供托管类未提供的一些功能,因此,在实现某些类型的应用(例如向 MMC 管理单元页添加新内容)时,必须使用 Active Directory COM 接口和 Win32 函数。有关这些技术的详细信息,请参阅 MSDN Library(网址为 http://msdn.microsoft.com/library)中“Win32 和 COM 开发 SDK 文档”副标题下“目录服务”中的“Active Directory”。
ADSI
Active Directory 服务接口 (ADSI) 是一组自动化和非自动化 COM 接口,提供对特定于 Active Directory 的管理对象、应用程序对象和 Active Directory 架构的访问。ADSI 中的自动化接口可用于编写脚本。C++、C# 和 VB.Net 等也支持非自动化 COM 接口的语言可以使用这两种类型的接口开发应用程序。有关 ADSI 的详细信息,请参阅 MSDN Library(网址为 http://msdn.microsoft.com/library)中“Win32 和 COM 开发 SDK 文档”副标题下“目录服务”中的“Active Directory 服务接口”。
LDAP
轻型目录访问协议 (LDAP) API 提供对基于 LDAP 的目录(包括 Active Directory)的访问。它使用标准 LDAP 协议访问、搜索和处理目录项。与 Active Directory COM 接口和 Win32 函数类似,LDAP 使开发人员能够通过其目录路径访问对象。但是,由于 LDAP 本身不能识别 Active Directory 的特定结构,因此,与其他 Active Directory 应用程序开发方法相比,基于 LDAP 的 Active Directory 应用程序通常更复杂且涉及更多的代码。有关 LDAP 的详细信息,请参阅 MSDN Library(网址为 http://msdn.microsoft.com/library)中“Win32 和 COM 开发 SDK 文档”副标题下“目录服务”中的“轻型目录访问协议”。