当前位置:文档之家› 利用脚本批量添加域用户账户

利用脚本批量添加域用户账户

利用脚本批量添加域用户账户
利用脚本批量添加域用户账户

2.4.6 利用脚本批量添加域用户账户

以上两种方法是比较常用的批量用户账户添加方法,但是不够灵活(不可以设置密码),而且在添加用户数量多时,输入的工作量也比较大。本节所介绍的WSH脚本方法相对来说,工作量比较小,但难度却要高许多,需要懂得一些基本的脚本语言。仅作选学参考。

【注意】以下脚本也需要在文本模式下,以英文输入方式输入,特别是其中的逗号和引号。其实这是代码输入的一般性常识。

WSH的全称是Windows Script Host,是一种支持ActiveX(COM)的独立脚本语言。WSH脚本程序本来是为了替代DOS时代的批处理文件而产生的,后来由于WSH的应用很广泛,已经不只是局限于批处理的替代品了。从Windows98开始,操作系统就已经自带了WSH,因此在Windows98或以上的操作系统中,可以不安装任何软件就能直接使用WSH。

WSH可以使用VBscript与Jscript,即使用的脚本语言与网页脚本是一样的。WSH文件的扩展名为vbs及js,分别用VBscript与Jscript作为编程脚本语言。还有一种脚本文件的扩展名是wsf,它是一种包含XML的文件,wsf文件中可以同时包含VBscript与Jscript两种语言。wsf文件中,可以使用多种脚本,需要一些XML标签来声明的,最基本的就是用<script>标签说明脚本的类型,另外最外层要用<job>标签声明任务。此处所介绍的不是这种支持XML 的脚本。

1. 利用WSH脚本中的循环功能实现批量创建用户帐号

用脚本批量添加用户账户的一个最大的好处就是代码输入工作量小,几行就完成了,而且还可以配置用户密码。但难度较大,而且用户名只能是有规律的,不可能针对每个用户具体指定用户名。现在假设要在grfw.local域的Sales组织单位中创建10个用户,用户名为User1、User2~User10。下面是这个示例的代码,用记事本程序以vbs或js扩展名格式保存,然后直接双击运行即可。Set objDomain = GetObject("LDAP://dc=grfw,dc=local")# 调用(也称绑定)名为grfw.local对象

Set objOU = objDomain.Create("organizationalUnit", "ou=Sales")# 创建一个名为Sales的组织单位。如果相应的组织单位已创建,则此语句不要,而要采用“Set objContainer = GetObject

("LDAP://OU=Sales,dc=grfw,dc=local")”语句,否则会显示“对象已存在”错误信息。

Set objOU = GetObject("LDAP://OU=Sales,dc=grfw,dc=local")# 调用域名为grfw.local,组织单位为Sales对象

objOU.SetInfo # 保存组织单位信息

For i = 1 To 10 # 设置循环变量和级数

Set objUser = objContainer.Create("User", "cn=UserNo" & i)# 在Users容器下创建UserNo1到UserNo10的用户账户

objUser.Put "sAMAccountName", "UserNo" & i # 把所得的“UserNo”变量值赋予给相应用户账户的sAMAccountName属性

objUser.SetInfo # 保存用户信息

objUser.SetPassword "Winda0101" # 设置所有用户的初始密码均为“Winda0101”

objUser.AccountDisabled = FALSE # 启用用户

objUser.SetInfo # 保存用户信息

Next # 下一个循环

WScript.Echo "10 Users created." # 脚本编写结束后的显示信息,提示已创建了1000个用户账户

以上语句在记事本中的格式如图2-31所示。

图2-31 WSH脚本格式示例

添加用户后,也会在“Active Directory用户和计算机”管理单元相应的组织单位下添加这些用户,如图2-32所示。注意他们已有了初始密码。

批量添加后还要对各用户进行重命名,重命名的方法很简单,只需在相应账户上单击右键,在弹出菜单中选择“重命名”选项即可进行重命名。

图2-32 用WSH批量添加的10个用户

相关主题
文本预览
相关文档 最新文档