码迷,mamicode.com
首页 > 其他好文 > 详细

使用工具Csvde将域中的所有用户的信息导出

时间:2017-08-12 10:30:45      阅读:4906      评论:0      收藏:0      [点我收藏+]

标签:windows server 2008 r2   导出ad用户   ad用户表   

    有时我们需要获取AD域用户中的信息及状态,想知道哪些用户帐号是被禁用的,哪些用户帐号是正常的,用户的部门、电话、职位信息等等。

下面我将自己做的实验步骤分享一下。


第1步:首先用脚本命令将AD用户信息导出,导的时候可以根据自己的需要,导出有用的用户信息,过滤掉不需要的信息。

命令脚本:

csvde -d "ou=XX公司,DC=contoso,DC=com" -r "(&(objectcategory=person)(objectClass=user))" -l "name,sAMAccountName,description,title,department,telephoneNumber,mail,userAccountControl" -f C:\Users\Administrator\Desktop\Users-List.csv -s contoso.com -u

脚本解释:

-d "ou=users,ou=XX公司,DC=XXXX,DC=Com"中ou是组织结构,ou=users,ou=XX公司代表的含义是XX公司 组织下的users组织,这是层级结构表示,命令行中由左至右对应层次中的由低至高。DC是域名,也是层级结构,DC=XXXX,DC=Com,表示Com下的XXXX也就是域名XXXX.com。比如abc.XXX.com对应DC=abc,DC=XXXX,DC=Com。


-r "(&(objectcategory=person)(objectClass=user))"是筛选要导出的数据,(objectClass=user)是定义大类,只导用户信息,但是AD的user 除了用户信息还包括computer等信息,所以再用(objectcategory=person)筛选,这样就只有用户信息了,如果这里省略就会导出所有AD信息相当乱。


-l "name,userPrincipalName"是需要导出用户信息具体字段,这里分别是名称和登录名,其它的字段可以参见下面图片。


-f C:\Users\Administrator\Desktop\Users-List.csv 指的是导出文件路径,但是用户的中文信息会以16机制代码显示,所以后面加一个-u,但这也有弊端,加-u后导出数据就混在一列里,可以用excel的导入文本,以逗号分列功能分开即可。


-s DC服务器名


在DC服务器上,运行cmd,输入脚本,运行后得到一个csv文件,用excel以逗号分列功能分开后得到以下信息

技术分享


这里只是导出了我要的部分,如果需要导出其他信息,请参考本文最后的几个图片。《用户信息参数名对照图》


第2步:整理表格。在DN这一列存在用户的姓名,以及所隶属的组织,比较难看,我们用Excel函数将他显示成我们想要的效果。

的A列后面,插入3列,在B2列输入函数

=TRIM(LEFT(SUBSTITUTE(MID(SUBSTITUTE($A2,"=",REPT(" ",999)),COLUMN(A2)*999,999),",",REPT(" ",999)),999))

然后横向拖动这列到C2,D2,再纵向拉下去,最后就把OU后面的部门都显示好了。如下图所示:

技术分享

把第一行标题修改一下,表格就很好看了。

技术分享


userAccountControl参数表示帐号状态,他的数值请参考下图

技术分享


以下图片是《用户信息参数名对照图》

技术分享


技术分享


技术分享


写下这篇日志,供大家参考查阅,经验分享,信息共享。

本文出自 “繁星点点” 博客,请务必保留此出处http://fanxing.blog.51cto.com/189800/1955547

使用工具Csvde将域中的所有用户的信息导出

标签:windows server 2008 r2   导出ad用户   ad用户表   

原文地址:http://fanxing.blog.51cto.com/189800/1955547

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!