`
txf2004
  • 浏览: 7132728 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

目录服务技术介绍——ADSI(2)

阅读更多
下面列出目前已经实现的ADSI目录服务:

(1)Windows NT域用户管理。

(2)LDAP (Exchange Server)目录服务。

(3)Internet Information Server

(4)NDS(Novell NetWare Directory Services)

目前,在一个企业内部存在多个目录服务也会带来一些问题。对于管理员来说,它必须管理多个目录服务,这使得管理更为复杂;对于企业工作人员来说,为了访问不同目录服务中的信息,他必须登录到多个目录服务中;对于开发人员来说,为了使用目录服务,他必须选择使用哪个目录服务或者使用多个目录服务。虽然ADSI统一了目录服务的编程接口,但是为了在企业内部更好地使用目录服务功能,必须对目录服务的应用有所规划。由于Windows 2000全面采用了ADSI作为其应用编程接口,因此,建立在Windows 2000上的应用将可以更方便地访问系统提供的各种目录服务,应用程序与操作系统可以更好地结合起来。

二、ADSI结构

ADSI编程接口包括两个方面,实现ADSI目录服务的提供者(provider)和使用ADSI的客户。每一个当前被支持的目录服务必须有一个提供者,ADSI提供者实现了ADSI对象以及与名字空间相关的对象;ADSI客户与普通的COM客户程序类似,它调用ADSI接口访问目录服务所提供的各种功能,包括查找目录、读取目录对象的属性,如果允许的话,还可以修改对象的属性。

ADSI提供目录访问的基本结构如下图所示:



图1 ADSI目录服务层次结构图

ADSI提供了两种形式的编程接口,对于支持自动化的客户,它可以通过ADSI自动化接口调用目录服务提供者的属性和方法;对于性能要求比较高的客户,它可以通过vtable形式的COM接口访问目录服务提供者。ADSI这种双接口结构几乎总能满足客户程序的需要,关于双接口的原理以及用法请读者参阅有关自动化(Automation)方面的书籍,本文为简便起见,仅从自动化接口的角度讨论ADSI接口。

在ADSI所定义的接口规范中,对应于目录服务的目录对象,我们也称为活动目录对象(Active Directory Object)。另一个重要的对象为包容器(Container) 对象,包容器对象与目录对象的关系跟我们在文件系统中使用的目录与文件的关系类似,一个包容器对象可以包含许多其它的目录对象或者包容器对象,而目录对象代表了一定的实体。对于每个ADSI提供者,它从基本的名字空间的根节点开始,通过包容器对象和目录对象,形成了一棵树,如图2所示。



图2 ADSI包容器对象与目录对象的树状结构示意图

ADSI的每个包容器对象或者目录对象都有一个与之相联系的类别对象,类别对象说明了对象的一些特征信息,比如,对象的属性、对象属于包容器还是目录对象,等等。类别对象也描述一些属性,这些属性是所有属于此类别的对象所共有的属性,在这些属性中,有的属性是强制必须要有的,而有的属性则是可选的。属性最重要的特征是它的语法,语法定义本身也是一个目录对象。类别、属性和语法都是某个包容器对象下面的目录对象,被称为表结构(schema)。

在ADSI定义的接口中,最基本的接口为IADs接口,它是一个从IDispatch接口派生出来的双接口,并且所有的目录对象都必须实现IADs接口。IADs接口的属性和方法如表1和表2所示
分享到:
评论

相关推荐

    Windows 2000活动目录开发人员参考库 第3卷 ADSI程序员指南

    ADSI是微软提供的一种接口,允许开发人员通过各种编程语言访问和管理目录服务,如Windows 2000的活动目录。 首先,ADSI是Windows操作系统中用于访问和管理目录服务的核心组件。它提供了一种统一的方式来处理不同...

    delphi for adsi demo 代码

    **ADSI(Active Directory Service Interfaces)是微软提供的一种接口,用于访问和管理Windows域环境中的对象,如用户、计算机、组和其他目录服务信息。在Delphi编程中,ADSI库可以方便地集成到应用程序中,实现对...

    Windows 2000活动目录开发人员参考库 第4卷 ADSI参考手册

    这本书是Windows 2000时代的重要技术参考,尽管Windows系统已经发展到更高级版本,但ADSI的基本原理和技术依然对理解现代Windows环境下的目录服务和脚本编程有重大价值。通过深入学习这本手册,开发者可以掌握与活动...

    ADSI脚本工具scriptomatic

    ADSI是微软提供的一种接口,用于管理和查询活动目录(Active Directory)以及与之交互的任何其他目录服务。它允许管理员和开发者通过各种脚本语言(如VBScript、JScript)访问和操作目录对象,如用户账户、计算机...

    ADSI.DLL MSC

    ADSI (Active Directory Service Interfaces) 是微软Windows操作系统中用于访问和管理目录服务的一种技术。它为开发者提供了一种统一的接口,可以操作多种目录服务,包括Microsoft的活动目录(Active Directory)和...

    Windows2000活动目录开发人员参考库第4卷ADSI参考手册

    第1章 活动目录库套书的使用 1.1 活动目录库套书的组成 1.2 活动目录库套书的编写思想 第2章 本书的内容 ...18.5.2 提供者支持的ADSI接口 第19章 ADSI错误码 19.1 普通的COM错误码 19.2 普通的...

    AD编辑工具adsi.rar

    在IT行业中,活动目录(Active Directory,简称AD)是微软公司提供的一种服务,用于管理和组织网络中的资源,如用户、计算机、组等。AD编辑工具adsi.rar则是一款专为AD设计的辅助工具,它可以帮助管理员更方便地查看...

    ADSI.zip_ADSI_Creating_delphi adsi

    **ADSI(Active Directory Service Interfaces)是微软提供的一种接口,用于访问和管理Windows操作系统中的活动目录服务。在Delphi编程环境中,ADSI被广泛应用于创建、读取、更新和删除Active Directory的对象,如...

    WMI教程,VBS教程,adsi教程三合一教程

    1. **ADSI基础**:介绍ADSI的基本概念,如连接到目录服务器、查找对象、修改对象属性等。 2. **使用VBScript和ADSI**:通过VBScript操作AD用户、组、计算机账户,创建、删除、修改对象。 3. **ADSI对象和属性**:...

    ADSI.rar_ADSI连接域_域用户

    ADSI(Active Directory Service Interfaces)是微软提供的一种接口,用于访问和管理Windows环境下的目录服务,包括Active Directory。这个“ADSI.rar_ADSI连接域_域用户”压缩包文件很可能是包含了一些关于如何利用...

    adsi sample

    ADSI(Active Directory Service Interfaces)是微软提供的一种接口技术,用于访问和管理各种目录服务,包括Windows活动目录(Active Directory)和其他遵循LDAP(轻量级目录访问协议)或DNS(域名系统)协议的目录...

    基于LDAP目录服务的研究与应用

    本文介绍了目录服务技术的发 展历史,并由此引出LDAP作为目录服务访问协议的原因。目录服务访问协议本身在不断发展,通过对LDAPvl、LDAPvZ和LDAPv3的比较,体现LDAPv3在保持 和以前版本兼容性的同时,具有的分布式...

    动态创建网站 C# 操作ADSI创建 III网站

    c# 操作ADSI 动态的在IIS 上面创建网站,对网站权限和属性进行分配

    adsi.zip_little

    1. **ADSI(Active Directory Service Interfaces)**:ADSI是微软提供的一种访问目录服务的标准接口,可以用来访问和操作Windows活动目录以及其他的LDAP(Lightweight Directory Access Protocol)目录。...

    IIS6adsi安全设置源码

    ADSI(Active Directory Service Interfaces)则是一种编程接口,用于访问和管理目录服务,包括对IIS站点的管理和配置。在这个主题中,我们将深入探讨如何使用VB(Visual Basic)编程语言和ADSI进行IIS6的安全设置。...

    adsi.zip_active directory

    Active Directory是微软Windows操作系统中的一项服务,它主要用于管理网络环境中的用户账户、计算机、安全策略等资源,提供目录服务。在Delphi中,我们可以使用ActiveX Data Objects (ADO) 或者 ADSI (Active ...

Global site tag (gtag.js) - Google Analytics