本来用户系列已经结束,但总有学员在问关于批量建用户的问题,虽然现在好多文章都在讨论这个,但从实用价值上看,有的意义好像不大,因此今天就来分析一下有关批量建用户的问题,我会从理论和生产角度来和各位分析,你应该采用哪种方法。
我们今天讨论的是域环境,至于工作组环境,生产意义不大,在此不做深入研究。
建用户的方法,常用的无外乎以下几种:
1. 利用AD用户和计算机(ADUC)。
2. 利用CSVDE批量建用户
3. 利用LDIFDE批量建用户
4. 利用脚本批量建用户
5. 利用for…..do…dsadd user批量建用户(本文重点推荐,实用价值高)
1. 利用AD用户和计算机(ADUC)。
2. 利用CSVDE批量建用户
3. 利用LDIFDE批量建用户
4. 利用脚本批量建用户
5. 利用for…..do…dsadd user批量建用户(本文重点推荐,实用价值高)
下面分别来讲解这些方法:
一、利用AD用户和计算机(ADUC):
场景:适合于初学者,而且在创建时可以输入很多用户属性信息, 如果你在建少量用户时,可以考虑方法。此处演示就省了吧~呵呵~~
二、利用CSVDE建用户:
功能:
a. 可以批量建用户或OU等,即可以把用户信息写到一个文件里,一行是一个用户信息,利用该命令可以把文件内容导入AD,从而批量创建相应的用户。
b. 可以批量导出用户信息,如果你对上述文件内容中有关用户属性不知从何入手,就可以使用该导出功能了。当然这个导出不仅仅可以导出用户,也可导出组、计算机、OU等对象。当然导出范围可以自定义,即可以整个域,也可以某个容器,如sails这个OU。
a. 可以批量建用户或OU等,即可以把用户信息写到一个文件里,一行是一个用户信息,利用该命令可以把文件内容导入AD,从而批量创建相应的用户。
b. 可以批量导出用户信息,如果你对上述文件内容中有关用户属性不知从何入手,就可以使用该导出功能了。当然这个导出不仅仅可以导出用户,也可导出组、计算机、OU等对象。当然导出范围可以自定义,即可以整个域,也可以某个容器,如sails这个OU。
示例1:通过如下命令可以导出整个域的对象信息到adall.csv或adall.txt文件中。(二者可以选其一,当然建议使用.csv)
Csvde -f adall.csv |adall.txt 如下图所示:
Csvde -f adall.csv |adall.txt 如下图所示:
Csvde -f ad_sails_ou.txt -d ou=sails,dc=net,dc=com
只导出特定OU内所有对象。
见图示:
导出后的文件内容如下所示:
示例2:批量建用户
Csvde -i –f xxx.csv | xxx.txt
在这里-i 是导入,-f 是指从文件
userAccountControl属性值如果是512指用户建完后是启用的,如果是514指建完用户后是禁用的。如下图所示:
Csvde -i –f xxx.csv | xxx.txt
在这里-i 是导入,-f 是指从文件
userAccountControl属性值如果是512指用户建完后是启用的,如果是514指建完用户后是禁用的。如下图所示:
该文件内如下:
注:此命令的不足的地方就是不能删除、修改用户属性、也不能设置用户密码。因此,应该避免使用 CSVDE 创建用户对象。
三、利用LDIFDE建用户: (可以使用的文件扩展名.csv或.txt)
功能:类似于CSVDE
a. 可以批量建用户或OU等对象,但需要事先建一个用户或OU文件,然后利用该命令把相关文件信息导入到AD中。可以删除、修改用户属性,也可以设置用户密码。可以考虑使用之。
b. 可以导出AD中所有对象信息,同于CSVDE,如果你不知道建用户时的文件如何去写,可以参照导出的文件即可。
a. 可以批量建用户或OU等对象,但需要事先建一个用户或OU文件,然后利用该命令把相关文件信息导入到AD中。可以删除、修改用户属性,也可以设置用户密码。可以考虑使用之。
b. 可以导出AD中所有对象信息,同于CSVDE,如果你不知道建用户时的文件如何去写,可以参照导出的文件即可。
示例1:导出AD中对象信息
Ldifde -f adall.txt 导出AD中的全部对象
Ldifde -f ad_sails_ou.txt -d ou=sails,dc=net,dc=com 只导出sails容器内对象信息。
Ldifde -f adall.txt 导出AD中的全部对象
Ldifde -f ad_sails_ou.txt -d ou=sails,dc=net,dc=com 只导出sails容器内对象信息。
示例2:批量建用户
Ldifde -i -f xxx.csv|xxx.txt
如下图所示是使用的文件内容:
注:该命令可以考虑应用,但文件的编辑麻烦!
四、利用脚本来建用户 (脚本扩展名:.vbs)
给两个示例吧!
示例1:单用户或OU、组的创建
示例1:单用户或OU、组的创建
执行方式:wscript wscript_OU_user_group.vbs
示例2:批量建用户,往往用于测试。执行方式类似上者。
五、利用for来批量建用户:(推荐使用)
在这里利用for命令结合dsadd 来完成批量建用户、组、OU,此处仅演示批量建用户、至于组、OU等我想各位看完此例,完成应该没有太大问题吧。
各位试想:在企业,特别是一个域环境刚刚搭建,肯定要建大量用户,而这些用户不可能一个一个去手动创建,怎么建更方便呢?我想各位可以到人事那里拿一个表,这个表是每位员工的信息,你可以通过修改这个表格,然后把人事信息通过for命令导入到AD,从而创建完所有用户。当然利用Excel修改这个表格,你最后需要保存为.csv的格式(另存即可看到该类型)。
下面是我的一个该文件的示例,此处仅做演示而矣:
注意这个文件,每行是一个用户信息,而每个用户属性用逗号分开。而每个用户行的用户属性必须对应,如下便是应用该文件的示例:
特别注意要命令的使用,简单说明一下,for类似于程序设计中循环命令,但变量的取值是从文件(in (aduser.csv)),dsadd user是建用户,但该命令在使用时后面需要跟具体的用户属性,其实这些属性就来自于用户文件的不同列,如%a指第一列,%b指第二列,依次类推,各位可以参照for的命令帮助,for /?可以看到更详细的说明。此处就不多说了。
可能各位对dsadd user的用户属性名不知写什么?你可以参照dsadd user 的帮助,如下所示:
好了,有关批量建用户我们就学完了,希望各位多尝试着做做实验。相信在生产中你能用得上。
小结:这几种批量建用户的方法,各有好处,各有应用场合,就看你怎么把握。从生产实用角度看最后这种更有价值。
用户系列到这里算是可以划上了一个圆满的句号了。~~~~
本文转自 jary3000 51CTO博客,原文链接:http://blog.51cto.com/jary3000/147191,如需转载请自行联系原作者