使用脚本自动创建AD中的层次化结构容器及对象

      新年伊始,万象更新。借用在年终总结里的第一句话。2009年了,继续更新BLOG。今年初准备更新2个大主题,1是WINSERVER相关的一些东西,包括2008、应用技巧、部署及各种工具等;2是OCS2007从规划到部署的系列文档,BLOG中已经更新过一些零散的文章,准备将OCS相关写全,整理出一套完整的配置文档。2月份要发布R2版本了,希望对大家有帮助。
     不知各位博友在部署AD用户、组和OU时采用哪种形式。比较常见的是使用Csvde和Ldifde工具以及脚本生成。但是通过工作中的实际应用发现他们或多或少都存在一些问题。使用命令行工具修改脚本繁琐,功能上有限制以及不能创建OU和组;而使用普通的脚本很难满足要求,自己编写又对使用者的编程技巧有较高要求。
     那有没有一种方法可以解决上面这些问题呢?
     这就是今天BOLG的内容,整个过程只使用DSADD命令以及一个循环语句,使用者可以通过简单的修改完成包括创建组织单元、分组、账户、设定账户密码、增加账户信息等工作。最近给一个2000多人用户的机构创建用户效果很好,而且使用这个方法还有一个好处,创建过程中可以标示组织中重名的用户账户。要知道在AD中不止每个用户的SID是唯一的,账户的登陆名也是唯一。一个实际的经验是,200人以上的AD账户重名几率会呈几何形状增长。2000人大概有150个账户会发生冲突。
     在介绍最终的脚本以前先简单介绍一下Dsadd命令,这个命令是windows2003及2008中自带的系统工具,所以使用时不需要安装SK和RK之类的工具集即可使用,除了Dsadd以外DS还包括其他一些列命令如,Dsget dsmov dsmod dsquery等命令。我会另写文章介绍
1.第一个例子,最简单的应用,创建单个OU,在AD中对象都存在某个容器或者对象中。在创建AD层级结构时我们也是先创建OU然后再向OU中添加账户
1
说明:添加OU ITpro,我们可以根据需要创建嵌套的多层OU
 
2.第二个例子,创建单个组,方便以后使用脚本直接将用户加到组里,所以这个也要先创建出来
2
说明:创建ITPro用户组
 
3.第三个例子,创建单个用户,upn为90375
3
 
4.第四个例子,通过上面3个例子各位博友已经大概了解了DSADD命令的使用,在这个例子里我加入了一些
开关,定义一些状态和信息,大家可以可以根据需要增加账户部门等信息
4
说明:创建dongjun用户 显示名为董君 密码为password01! 首次登陆必须修改密码并自动加入ITPro组
一些常见的开关大家可以使用-?参数或者搜索一下其他文章介绍,甚至可以通过ADSIEDIT工具查看
9
 
AD用户和计算机中刚刚添加的对象 5
 
5.批量添加用户
       通过上面的介绍,大家可以发现,这是命令的使用还是非常简单的,那如何才能达到自动创建所有用户和组织结构的目标呢?在这里我们还需要借助一个for循环已经tokens参数,下面是脚本内容:
 
6
说明:第一部分前2行不介绍了,大家可以直接看下张效果图;第3,4行创建一个名称为IT的OU并在其中嵌套创建ITPro子OU;第4行在ITPro这个OU中创建ITPro用户组。
            第二部分前2行不做介绍,看下图。最后的命令使用tokens将ITPro.txt中每一行中的第一个和第二个字符传递给for语句进行处理,第一个字符及第二个字符之间用,隔开
dong1 董一
dong2 董二
dong3 董三
dong4 董四
dong1 董一
 
命令处理过程,因为有重名,所以可以看到报错提示
7
 
处理后ADUC中的结果~
8

本文出自 “矩阵天空” 博客,转载请与作者联系!

你可能感兴趣的:(windows,职场,休闲)