----------我是基于这篇文档修改的,做了一点点补充,原理就是利用for循环加创建用户的一些参数循环执行。一 创建方法首先,用Excel创建需要导入的用户的列表。如下图所示。A:姓;B:名:C:姓名;D:登录名;E:域名;F:密码;G:组织单位。 具体每一个账户都要设置哪些属性可自由决定。 在这里我就做了一下修改,我把 “名”给去掉了。(为了更加直观,请看表格对应的创建用户的弹窗) 设置完后,另存为CSV文件。然后将该文件移动至域控服务器某个磁盘的根目录下。这里我们放在C盘根目录。 以管理员运行cmd,打开命令提示符窗口。输入以下代码,回车即成功创建了。 for /f "tokens=1,2,3,4,5,6 delims=," %a in (C:\1004Student.csv) do dsadd user "cn=%b,ou=%f,ou=UserOU,dc=SZHIT,dc=CLOUD,dc=COM" -samid %c -upn %c@SZHIT.CLOUD.COM -ln %a -display %c -pwd %e -mustchpwd no -pwdneverexpires yes -disabled no 现在打开Active Directory用户和计算机,发现这两个用户已成功创建了。 备注:在运行代码创建用户之前,资源所隶属的组织单位必须先手动建立。(其实也有命令创建OU的命令,如果想搞的话可以做一个脚本出来,我们需要做的就是填一些参数就可以了,我上网找的时候,好像就有人写成了小软件。) 二 代码说明(1) For /f "tokens=1,2,3,4,5,6 delims=," “tokens=1,2,3,4,5,6” 这段是声明这里有6个变量。分别是%a,%b,%c,%d,%e,%f。分别对应EXCEL表格A,B,C,D,E,F列。 ”Delims=,”表示分隔符是“,”号。
(2) %a in (c:\1004Student.csv) 这段是表示全部变量的来源。这里就是指变量都是来源于之前保存在C盘的EXCEL的 CSV文件。 (3) do dsadd user 这个是添加创建用户命令。 (4)
"cn=%b,ou=%f,ou=UserOU,dc=SZHIT,dc=CLOUD,dc=COM" cn表示显示的名称,ou表示创建的路径。 假设我的OU路径比较深,则我们要把除最后一级OU之前的OU写在执行的命令中。 写法:1级ou写在最后面,2级ou写在1级前面,3级写在2级前......依次类推,用逗号隔开。最后的一级OU目录是写在.cvs的文件中的OU。 (5)
-samid %c -upn %c@SZHIT.CLOUD.COM 这句是指所要用户的名称和upn后缀。这个upn的后缀最好和用户名在一块,因为每个用户名不会一样。 (6) -ln %a 是指用户的姓。 -fn %* 是指用户的名。(在这个脚本中我删除了这个,需要的可以留着。) -display %b是指用户的显示名称。 (7)
-pwd %e 是指用户的密码。 -mustchpwd no 这个是“首次登录是否修改密码” ,yes是开启,no是关闭。 -pwdneverexpires yes 这个是“密码永不过期” ,yes是开启 ,no是关闭。 -disabled no 这个是用户创建之后是不是禁用状态,yes是禁用,no是不禁用。 后面的内容做为一个补充 dsadd命令的可使用参数释议: 参数 UserDN 必需。指定要添加的用户的可分辨名称。如果省略可分辨名称,则将从标准输入 (stdin) 中获取该名称。 -samid SAMName 指定 SAM 名称作为该用户的唯一 SAM 帐户名(例如,Linda)。如果未指定,dsadd 将尝试使用 UserDN 的公用名 (CN) 值的至多前 20 个字符创建 SAM 帐户名。 -upn UPN 指定要添加的用户的用户主体名称(例如,Linda@SZHIT.CLOUD.COM)。 -fn FirstName 指定要添加的用户的名字。 -mi Initial 指定要添加的用户的中间名首字母。 -ln LastName 指定要添加的用户的姓氏。 -display DisplayName 指定要添加的用户的显示名。 -empid EmployeeID 指定要添加的用户的雇员 ID。 -pwd {Password | *} 指定将用户密码设置为 Password 或 *。如果设置为 *,将提示您输入用户密码。 -desc Description 指定要添加的用户的描述。 -memberof GroupDN ... 指定希望用户加入的组的可分辨名称。 -office Office 指定要添加的用户的办公室位置。 -tel PhoneNumber 指定要添加的用户的电话号码。 -email Email 指定要添加的用户的电子邮件地址。 -hometel HomePhoneNumber 指定要添加的用户的家庭电话号码。 -pager PagerNumber 指定要添加的用户的寻呼机号码。 -mobile CellPhoneNumber 指定要添加的用户的移动电话号码。 -fax FaxNumber 指定要添加的用户的传真号码。 -iptel IPPhoneNumber 指定要添加的用户的 IP 电话号码。 -webpg WebPage 指定要添加的用户的 Web 页的 URL。 -title Title 指定要添加的用户的称谓。 -dept Department 指定要添加的用户的部门。 -company Company 指定要添加的用户的公司信息。 -mgr ManagerDN 指定要添加的用户的管理器的可分辨名称。 -hmdir HomeDirectory 指定要添加的用户的主目录位置。如果 HomeDirectory 是作为通用命名约定 (UNC) 路径给出,则必须使用 -hmdrv 参数指定要映射到此路径的驱动器号。 -hmdrv DriveLetter: 指定要添加的用户的主目录驱动器号(例如,E:)。 -profile ProfilePath 指定要添加的用户的配置文件路径。 -loscr ScriptPath 指定要添加的用户的登录脚本路径。 -mustchpwd {yes | no} 指定用户是否必须在下次登录时更改其密码(yes 必须更改,no 不必更改)。默认情况下,用户不必更改密码 (no)。 -canchpwd {yes | no} 指定用户是否可以更改其密码(yes 可以更改,no 根本不能更改)。默认情况下,允许用户更改密码 (yes)。如果 -mustchpwd 参数的值为 yes,则该参数的值必须为 yes。 -reversiblepwd {yes | no} 指定是否应使用可逆加密来存储用户密码(yes 表示应该,no 表示不应该)。默认情况下,用户不能使用可逆加密 (no)。 -pwdneverexpires {yes | no} 指定用户密码是否永不过期(yes 表示是,no 表示不是)。默认情况下,用户密码会过期 (no)。 -acctexpires NumberOfDays 指定从今天算起用户帐户将到期的天数。0 值表示将今天的结束时间设置为到期时间。正值表示将将来的时间设置为到期时间。负值表示将以前的时间设置为到期时间。值 never 将帐户设置为永不过期。例如,0 值表示该帐户在今天结束时过期。值 -5 表示该帐户 5 天前就已经到期,并将以前的时间设置为到期日期。值 5 表示该帐户将在 5 天后到期。 -disabled {yes | no} 指定是否禁用用户帐户登录(yes 禁用登录,no 允许登录)。默认情况下,启用用户帐户登录 (no)。 {-s Server | -d Domain} 连接到指定的远程服务器或域。默认情况下,计算机与登录域中的域控制器相连接。 -u UserName 指定用户要用于登录到远程服务器的用户名。默认情况下,-u 使用用户登录时的用户名。您可以使用下列任一格式指定用户名: 用户名(例如 Linda) 域\用户名(例如 SZHIT\Linda) 用户主体名称 (UPN)(例如 Linda@SZHIT.CLOUD.COM) -p {Password | *} 指定使用密码或 * 登录到远程服务器。如果键入 *,将提示您输入密码。 -q 将所有输出降低为标准输出(安静模式)。
|