编程语言支持

可以使用多种语言编写 ADSI 客户端应用程序。 对于大多数管理任务,ADSI 定义了可通过符合自动化标准的语言访问的接口和对象。 例如,Microsoft Visual Basic 开发系统、Microsoft Visual Basic Scripting Edition (VBScript) 和 Java,以及更注重性能和效率的语言,如 C 和 C++。

与 Active Server Pages 和 VBScript 的顺利集成使编写访问目录服务的互联网应用程序变得更加轻松。 为了与 OLE DB 应用程序集成,ADSI 通过支持 OLE DB 查询接口的子集来提供 OLE DB 提供程序。 OLE DB 提供程序支持对 Active Directory 的只读访问。

对于 Internet 应用程序,使用 Active Server Page (ASP) 文件中的脚本可以在服务器上创建和操作 ADSI 对象,并在网页中显示结果。 在 Microsoft 管理控制台中,目录服务管理的管理单元可以使用 ADSI 查找感兴趣的目录服务。 简而言之,Active Directory 服务接口可以访问广泛而多样的目录服务,包括那些尚未建立的目录服务。

在访问使用传统 API 的结构时,ADSI 体系结构定义的低级接口不支持 C 和 C++ 等语言访问的自动化。 这些接口只不过是目录服务网络协议的 COM 包装器。

为已发布的接口编写代码后,应用程序就可以访问所有已安装的 ADSI 提供程序的目录服务,并集成由此产生的数据。 只需对代码稍作修改甚至不作修改,应用程序就能在安装新的 ADSI 提供程序后继续访问网络上的其他目录服务。

下图显示了 ADSI 如何融入应用程序环境。 无论应用程序是用 Visual Basic、C/C++、VBScript、Microsoft JScript 开发系统编写的,还是作为网络应用程序使用 Active Server Pages 编写的,Active Directory 服务接口都能提供简洁易用的基础目录服务访问,而无需使用本机网络 API。

adsi support for programming languages

如上图所示,不支持自动化的客户端可以访问所有 ADSI 接口,包括命名约定为 IDirectoryXXX 的纯 COM 接口和命名约定为 IADsXXX 的自动化 COM 接口。 由于客户主要从目录服务中请求信息,因此通过 OLE DB 和 IDirectorySearch 实现的 ADSI 灵活查询模型非常有效。