活动目录(Active Directory)概念和编程使用

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

普通目录及其面临的困难

谈到计算机目录及其相关技术,总能让我们想到无时不在使用的文件系统目录、灵巧实用的专用工具集目录、海量存储的网络资源目录等等。是的,这是一个异常熟悉的领域:在文件系统目录里,我们存储文件及其大小、创建日期、类型等信息;在诸如记事本类的专用工具集目录里,我们存放日程安排、联系方式、人员地点等信息;在网络资源目录里,我们以分层架构存放网络上所有对象的相关资料,这些对象包罗了网络里使用的各种资源:共享目录、共享打印机、应用程序、服务、服务器、用户帐号、组、域…可以这样说,从使用计算机的那一刻起,我们就从未离开过目录!曾经,这样的目录让我们随心所欲地处理我们的资源!

然而,正是这样的目录,在Internet下却面临许多麻烦:种类繁多、数量日增的目录让我们很难准确定位想要的资源;系统目录、应用程序特定目录、网络资源目录中到底谁存储了我们需要的信息?如何能用一致的方式登录这些不同的资源?怎样能轻松地维护不同系统上的远程资源?能否通过可视化的程序界面在这些资源间交互?

初识Active Directory活动目录

要解决这些问题,你可以使用Micrsoft提供的活动目录Active Directory 对象,它提供一种构造复杂计算机网络的简单方法,用来存储公共文件夹、对象信息、打印机、服务等数据;Active Directory的适用范围很大,它可以用在小自一台计算机,一个计算机网络,大至数个广域网络(WAN)的结合。它可以包含这个范围中所有的对象:文件、打印机、应用程序、服务器、域,以及用户等等。与普通意义上的目录不同的是,Active Directory 活动目录以分层树状结构排列成节点树,每个节点表示网络上的一个资源或服务,并且包含一组可检索和操作的属性。Active Directory 是提供复杂网络统一视图的Windows目录服务,它减少了开发人员必须处理的目录和命名空间的数量。

Directory Service目录服务

同时,专门针对Active Directory活动目录的Directory Services目录服务则让目录中的信息可用,Directory Service(目录服务)是让用户很容易地在目录内寻找到所需要的对象的一种服务。通过对Active Directory中数据的整理、规划存储,目录服务使得目录中的信息可用,真正让目录"活动"起来了。理由很明显,Internet网络、WAN局域网络里海量存储的数据往往让你迷失不知所措,再加上这些存放的资料不加以整理,想找到您需要的资料谈何容易!相反地,如果经过适当的规划,事先有系统地去整理这些资料,那就可以在需要时方便快速地寻找到你所要的对象。这样的例子现实生活中也随处可见:查号台算得上是一种目录服务;在Internet上的搜索引擎提供的查询功能究其实也是一种目录服务。目录服务不仅广义地包括了上述的各种目录(共享目录、共享打印机、应用程序、服务,网络服务器、用户帐号、计算机帐号、域、安全规则等等),更重要的它同时也是一种服务,让管理者、用户及应用程序都能利用目录中的资料处理这些对象。

其实,目录服务早就以不同的形式出现许多应用领域:一些操作系统如Microsoft的NT中的NTDS( Windows NT Directory Service), Novell 中的NDS(Novell Directory Service )等都整和了这种运用;另外,它也常集成在应用程序中,如Microsoft Exchange Server等。

作为Active Directory的广泛应用,Microsoft更是以Active Directory及其Service服务为整个分布式运算环境的基础。它可以包含并管理前述不同操作系统及应用程序相关的各种目录服务,提供用户、管理者,及程序开发者一个通用的目录服务,大大减少了企业的负担。

Active Directory支持的标准——走进ADSI

为实现活动目录服务,Active Directory支持了以下开放的标准:

LDAP轻型目录访问协议(Lightweight Directory Access Protocol)是用于访问Acitve Directory中数据的一个标准,它同时又是一个编程接口,提供API用来访问Active Directory活动目录;还有一个专门用于用户身份验证的标准是Kerberos协议,Windows 和Unix均支持这一协议以验证用户身份!

另外,为进一步简化程序方式访问Active Directory,Microsoft专门提供了ADSI (Active Directory Service Interface)活动目录服务接口语言,更使得编程人员可以更轻松地访问Active Directory的所有功能!使用ADSI,可以创建执行常见管理任务的应用程序,这些任务包括备份数据库、访问打印机和管理用户帐户等。ADSI 使管理员能够相对方便地定位和管理网络上的资源,不管网络的大小如何。

若要使用ADSI 技术,在客户端计算机上必须提供有ADSI SDK或ADSI运行库,这可以通过安装ADSI 2.5 或更高版本来实现。对于Windows NT 5.0 版、Windows 2000 或Windows XP,默认安装了ADSI 2.5。如果使用的是以前版本的Windows,则您可以自己从Microsoft Web 站点安装该SDK。

Active Directory架构

Active Directory架构(Schema)包含定义了各种形式的能够在Active Directory 中使用的对象类(如共享打印机、共享目录等),它同时也定义了在Active Directory允许存在的各种属性以提供对象的附加信息,如Name、Guid标识等,这种定义目录对象、属性的方式与数据库架构定义数据库结构的方式大体相同。架构信息存储在Active Directory 层次结构中,可以大大加快在大型目录上进行成员搜索的速度。Active Directory 使用架构定义可以访问网络节点的指定信息。架构提供了一种给存储在目录中的对象类型创建全局定义的方法,这些定义并赋予有意义的名称,如“用户”和“计算机”,更易于用户的访问识别。

DirectoryServices名字空间

.Net架构对Active Directory提供了丰富的支持功能,其命名空间

System.DirectoryServices包含的DirctoryEntry、DirectoryEntries以及DirectorySearcher等类库可与任何Active Directory 服务提供程序(一种识别绑定协议并提供相关服务的程序,下面有专门阐述)一起使用,.NET 框架的这些支持使得操作具有DirectoryEntry 和DirectorySearcher 等组件的ADSI 功能非常容易。

DirectoryEntry组件

DirectoryEntry 组件使从目录访问对象以及使用其数据和行为非常方便。当给DirectoryEntry 组件指定一个Active Directory 层次结构中的有效目录路径时,它返回可操作的ADSI COM 对象,这些对象包括用户、计算机、服务、用户帐户和计算机的组织、文件系统以及文件服务操作。DirectoryEntry 类封装Active Directory 层次结构中的节点或对象,使用此类库绑定到对象、读取属性和更新特性。DirectoryEntry 与帮助器类一起为生存期管理和导航方法提供支持,包括创建、删除、重命名、移动子节点和枚举子级。

可以将DirectoryEntry 组件绑定到目录中的对象以执行管理任务,如修改属性或监视信息更改。可以使用DirectoryEntry 组件自动执行常见管理任务,如添加用户和组、管理打印机以及设置网络资源的权限。这样,你可以使用DirectoryEntry 组件与企业中

相关文档
最新文档