Active Directory 服务接口对象

ADSI 对象模型由 COM 对象组成。 客户端使用接口操作对象。 ADSI 提供程序实现对象及其接口。

ADSI 对象是表示目录服务中的项的 COM 对象:计算机、用户、文件、服务器、打印机、打印队列等:也就是说,网络管理员每天使用的元素。 ADSI 定义不同类型的对象来表示不同类型的元素。 如下图所示,每个对象都支持一个或多个 COM 接口,这些接口支持访问对象数据(通常称为元数据)。

active directory service interfaces objects

由于 COM 接口是逻辑上连接的属性和方法集,因此可以将每个接口视为一个对象句柄,该句柄一次只提供一组逻辑函数的访问权限。 下表列出了基本的 ADSI 元素。

接口 说明
IADs 用于对象标识。 作为所有 ADSI 对象所需的基本接口, IAD 提供对对象元数据的访问,包括其在 ADSI 架构中的定义。 IAD 还提供对属性缓存中管理对象数据的属性和方法的访问权限。
IADsContainer 用于对象管理和检测。 所有 ADSI 容器对象都需要 IADsContainer 接口来管理对象创建、删除、复制和移动、绑定和枚举。
IADsPropertyList 用于对象属性管理。 IADsPropertyList 接口优化属性缓存中对象数据的管理。
IDirectoryObject 用于直接对象访问。 IDirectoryObject 接口为不使用自动化的客户端提供低级别对象访问。 此接口绕过对象属性缓存,并提供对对象属性的直接访问。 有关详细信息,请参阅 IADs 和 IDirectoryObject 接口
IUnknown 用于 COM 对象管理。 所有 COM 对象都需要 IUnknown 接口。
IDispatch 用于类型库数据和方法调用。 所有自动化对象都需要 IDispatch 接口。

 

更复杂的 ADSI 对象可能会公开其他接口。 例如, IADsCollection 支持管理相同数据类型的目录元素集合的方法。 IADsGroup 方法管理支持 IADsMembers 接口的对象的特殊情况集合。 对于支持它的提供程序, IDirectorySearch 接口支持查询目录服务的方法。 此外,ADSI 提供表示已知逻辑和物理项的接口。 例如,表示用户的 ADSI 对象支持 IADsUser、表示计算机支持 IADsComputer 等。 有关 ADSI 对象的详细信息,请参阅 IADs 和 IDirectoryObject 接口。 并非所有提供程序在所有接口上实现所有接口或所有方法和属性。 有关详细信息,请参阅 ADSI 参考