WindowsAD目录数据库访问研究

2012-04-29 00:44刘荣刚
电脑知识与技术 2012年30期
关键词:数据库

刘荣刚

摘要:针对AD目录数据库查询统计比较繁琐的问题,简要介绍了AD目录数据库的结构以及SQLServer链接服务器的应用方法,将AD目录数据映射为SQLServer数据库视图,利用标准SQL语句实现对AD目录数据库的查询和统计。

关键词:活动目录;数据库;SQLServer; 链接服务器;域

中图分类号:TP311;TP393 文献标识码:A文章编号:1009-3044(2012)30-7161-03

Windows Active Directory(简称:AD目录)对局域网内部的计算机账户、用户账户进行集中统一的管理。AD目录数据库不仅保存了计算机和用户的基本信息,还保存了与计算机和用户活动有关的信息,是管理和维护计算机网络的重要依据。但是,AD目录数据库的结构与一般关系型数据库的结构不同,数据查询及统计分析十分繁琐。本文通过将AD目录数据库转换为SQLServer数据库的视图,通过大家都比较熟悉的SQLServer的查询语句即可实现对AD目录数据库的查询及统计分析。

1 建立SQLServer链接服务器

在SQLServer集成管理器中,可以创建链接服务器对象。SQLServer通过链接服务器对象链接到其他的非SQLServer数据库,使得用户可以象使用SQLServer数据库一样使用其他数据库,而不必理会实际的数据库结构。

要通过SQLServer访问AD目录数据库,首先就要创建SQLServer到AD目录数据库的链接服务器对象,如图1所示。

创建对象时需要提供的参数:

链接服务器:链接服务器对象的名称,在访问数据库时要使用该名称,由用户自己指定。在此我们把链接服务器名称定为ADSl。

访问接口:这是SQLServer代理用户处理实际的数据库的接口,SQLServer提供的AD目录数据库的接口是OLE DB Provider for Microsoft Directory Services。

产品名称:仅起备注作用,可以任意填写。

安全性:具有访问AD目录数据库权限的用户名和密码。

其他参数采用默认参数。

2 创建SQLServer数据库

在SQLServer中创建一个数据库,用于存储视图。在此我们把数据库名称定为adsql,如图2所示。

3 AD目录数据库的数据

AD目录数据库保存有大量的数据,大多数情况下我们只关心一部分数据。要利用AD目录数据库的数据,首先要了解AD目录数据库中我们所关心的数据的位置、名称、存储格式等。运行adsiedit.msc可以查看AD目录数据库的数据。

3.1 对象及其属性

AD目录数据库将所有资源都当作对象来处理,对象包括计算机、用户和组,这些对象共享公用目录数据库、安全策略以及与其他域之间的安全管理。每个对象都有一系列反映该对象特征的属性集,通过查询对象属性的值,可以掌握对象的具体情况。

3.2 与计算机对象相关的属性

计算机对象常用的属性包括计算机名称(name)、组织单位(distinguishname)、最后一次登录时间(lastlogon)、whencreated(对象创建时间)等。

3.3 与用户对象相关的属性

用户对象常用的属性包括用户名称(name)、组织单位(distinguishname)、最后一次登录时间(lastlogon)、手机(mobile)、座机(telephoneNumber)、电子信箱(mail)、whencreated(对象创建时间)等。

4 创建访问AD目录数据库的视图

假定AD目录的域名为“abc.cn”,计算机及用户对象所在的组织单位是“集团公司”,SQLServer链接服务器为上面创建的ADSI,针对希望查询的数据建立相应的视图。以下给出几个典型视图的创建示例:

4.1 创建视图adcomputer

视图adcomputer包括所有计算机所在的组织单位(ou)、上级组织单位(topou)、计算机名称(name)、最后一次登录时间(last_logon)。注意时间的换算。

6 结论

通过以上方法,将复杂的AD目录数据库结构映射为关系型数据库结构,采用标准SQL语句即可查询AD目录数据库的数据,更重要的是可以在程序中方便的集成查询AD目录数据库的功能,充分利用AD目录数据对域用户和计算机实施监控和管理。

参考文献:

[1] (美)Edward Whalen.SQL Server 2005管理员手册[M].黄湘情,谢琳,张静妍,译.北京:人民邮电出版社,2009.

[2] (美)DanielBlum. Active Directory服务实用教程[M].北京.清华大学出版社,2002.

[3] SQLServer 使用ADSI执行分布式查询ActiveDorectory对象[EB/OL].http://www.alixixi.com/program/a/2010062662234.shtml.

猜你喜欢
数据库
本刊加入数据库的声明
数据库
数据库
数据库
两种新的非确定数据库上的Top-K查询
数据库
数据库
数据库
数据库
数据库