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

有时我们需要获取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参数表示帐号状态,他的数值请参考下图

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

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

时间: 2024-11-06 23:40:36

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

C#获取AD域中计算机和用户的信息

如果你的计算机加入了某个AD域,则可以获取该域中所有的计算机和用户的信息. 所用程序集,需要.Net Framework 4. 添加程序集引用 System.DirectoryServices.AccountManagement 获取AD域名称,未加入AD域的,只能获取计算机名称. 如果未加入任何域,则后续的获取域用户.计算机等操作将无法进行,实例化域上下文对象时,会抛出异常. 1 IPGlobalProperties ipGlobalProperties = IPGlobalPropertie

如何在域中批量建立用户

域中批量建立用户 标签:张兆森 如何在域里批量建立用户.实现的目的是什么. 减轻管理员建立用户的步骤,省时间.减轻工作量. 实验步骤: 1.先打开Excel表格创建需要导入的用户的列表,并保存为.CSV文件,移动到域控制器下的某个磁盘里 2.再去域里建立一个OU(即组织单位) 在进入命令行工具里去 3.输入for /f "tokens=1,2,3,4,5,6,7 delims=,"  %a in (c:\Book11.csv) do dsadd user "cn=%c,ou=

C#开发微信门户及应用(10)--在管理系统中同步微信用户分组信息

在前面几篇文章中,逐步从原有微信的API封装的基础上过渡到微信应用平台管理系统里面,逐步介绍管理系统中的微信数据的界面设计,以及相关的处理操作过程的逻辑和代码,希望从更高一个层次,向大家介绍微信的应用开发过程.本篇主要介绍在管理系统中,如何实现微信用户分组信息的同步操作. 其实微信能够风风火火的原因,主要就是因为有用户信息,所以同步并管理好微信账号的关注用户数据是非常重要的.有了微信用户的数据,你可以和你任何应用系统对接,实现系统-手机客户端的数据整合,还可以对用户进行营销管理,如发送用户感兴趣

C#-MVC开发微信应用(7)--在管理系统中同步微信用户分组信息

在前面几篇文章中,逐步从原有微信的API封装的基础上过渡到微信应用平台管理系统里面,逐步介绍管理系统中的微信数据的界面设计,以及相关的处理操作过程的逻辑和代码.希望从一个更高的层次介绍微信的开发. 在<C#-MVC开发微信应用(6)--用户分组信息管理>具体介绍了微信用户分组接口的实现方法,本篇将介绍,如何在我的平台软件上进行管理我们微信上的用户分组. 其实微信能够风风火火的原因,主要就是因为有用户信息,所以同步并管理好微信账号的关注用户数据是非常重要的.有了微信用户的数据,你可以和你任何应用

iOS开发中——如何保存用户敏感信息(用户名和密码等信息)

使用Keychain存储用户敏感信息 iOS的keychain服务提供了一种安全的保存私密信息(密码,序列号,证书等)的方式,每个ios程序都有一个独立的keychain存储.相对于NSUserDefaults.文件保存等一般方式,keychain保存更为安全,而且keychain里保存的信息不会因App被删除而丢失,所以在重装App后,keychain里的数据还能使用.从ios 3.0开始,跨程序分享keychain变得可行. 如何需要在应用里使用使用keyChain,我们需要导入Securi

组策略 之 域中登陆域用户自动添加到管理员组

有时候为了方便会赋予域用户本地管理员权限,此时可以使用组策略进行下发. 打开组策略管理器,新建建一个组策略--->编辑-->用户配置--->首选项--->控制面板设置---->本地用户和组----->新建本地组并配置如下 刷新策略后会发现登陆的用户已经是本地管理员组的成员. TIPS: 删除当前用户      将当前登陆的用户从目标组中删除 不要为当前用户配置   不对当前登陆用户做任何操作 3.删除所有成员用户    删除目标组所有的用户 4.删除所有成员组     

向域中批量创建用户

------使用CSVDE----------DN,ObjectClass,SAMAccountName,userPrincipalName,displayName,userAccountcontrol"cn=Alice,ou=HR,dc=contoso,dc=com",user,Alice,[email protected],hujintao,512"cn=Bob,ou=HR,dc=contoso,dc=com",user,Alice,[email protect

在域中获取域管理员权限的多种方法及一些缓解措施

翻译:hac425 前言 现在攻击者有很多方法可以用来获取域管理员权限.这篇文章的目的是介绍一些当前较受欢迎的方式.这里所介绍的技术的基本点是攻击者已经拿到了一台域中的服务器,并已获得域用户凭据. 对大多数企业来说有一个不幸的现实:对于一个攻击者来说,从域用户权限提升到域管理员权限往往不需要太长的时间.为什么会这样呢?本文会介绍其中使用的一些技巧. 现在针对一个企业,组织的攻击越来越频繁通过一些钓鱼手法来开始.比如通过发送大量的钓鱼邮件给目标的成员来在目标网络的机器上执行代码.一旦攻击者能够在企

转移域中的操作主机提升域功能级别!

一.先说提升域功能级别! 在Windows域中,随着操作系统的更新升级好多新的功能是之前的的操作系统不支持的,但是域环境在很久以前就已经在的操作系统(比如Windows server 2003)上搭建好了,无法使用更高的功能级别(比如Windows server 2008 R2)!这时就需要使用到今天提升域功能的实验内容了! 二.要想转移操作主机就不得不提操作主机 1.操作主机一共有五个:架构主机.域命名主机.PDC仿真主机.RID主机和基础结构主机! 1.1.架构主机:用于控制AD整个林中所有