文章目录
  1. 1. 导出AD用户信息并处理
    1. 1.1. 从服务器上导出信息

导出AD用户信息并处理

基本上,我们要从AD里面查点什么的话,能直接导出一个表肯定是最好的了。这方面的工具也不少,不过如果能只用系统原生资源的话就更好了。

从服务器上导出信息

用ldifde命令就可以很简单的导出AD里面信息,如果你敲ldifde没反应的话应该是没这个组件,找台域环境下的服务器再试试吧。
举个栗子:
ldifde -v -f c:\ChinaUS.ldf -d "ou=China,ou=Users,ou=Root2,dc=TestDomain,dc=co" -r "(objectClass=user)" -l"displayname,homephone,mail,company,sAMAccountName"
稍微解释一下,这条命令导出TestDomain.co域下Root2\China的OU下面的User里面的所有用户信息

  • -v 设置详细模式
  • -f 设置导出路径 (导出为C盘下面ChinaUS文件)
  • -d 设置搜索基础 (Testdomain.co\Root2\China\Users)
  • -r 筛选器 这里筛选ObjectClass 为user 也就是只导出用户账户
  • -l 导出结果列表 不加就是导出所有,太漫长了我只需要几个关键字就可以了

具体的参数什么的可以看微软的官方文档:
LDIFDE
不同系统里面用到的关键字的对应关系看这里:
关键字对应表

这样就导出了一个叫ChinaUS.ldf的文件,可以用记事本或者别的什么你喜欢的文本编辑工具打开

##用Excel让表看起来方便一点

虽然我们把表导出来了,但是看起来实在是不怎么好看,我们可以简单处理一下。比如用Excel排一下。
Excel可以直接把ldf文件当Txt导进去,不过我们最好还是先处理一下。
随便找个文本工具打开ldf文件,它看起来应该是这样的:

我只截取了一部分数据,名字什么的也打码了,看个意思就好。
我们来处理一下,首先这样一块一块的数据不行,Excel导入的话喜欢横平竖直的数据,大家应该知道我什么意思,所以我们要处理一下,把一块块的数据给拉直了。
比如我们要吧changetype这一条拉到dn后面去,最简单的办法就是替换一下,用;c替换掉回车加c 这样的话就把changetype这一行前面加了dn的后面
这里用写字板就不行了,我们换Word打开,然后替换^pc为;c

Word里面查找或者替换的话,要输入回车的话是输入^p

替换好了就是这个效果:

用同样的办法把displayname; sAMAccountName; Mail; HomePhone都拉上来。
最后是这个样子:

然后Excel导入一下,分隔符选分号()
就能导成这样了,之后就只要稍微删点东西和加加标题什么的。

这样就把AD里面的信息导出来了,同理还可以把其他要的东西导出来,还不要多用任何其他的工具。