情景:新建域环境,需要创建大批用户帐号。
环境:Windows Server 2003 + SP2 (DC)
操作:
1、在C盘根目录下创建 add.cmd 和 UserList.txt 两个文件。虚线内为实际内容。
add.cmd (文件内容为一行,无回车)
======================================================
For /F "tokens=1,2" %%a in (UserList.txt) do dsadd user CN=%%a,OU=test,DC=altn,DC=Com -upn %%a@altn.com -display %%b -pwd p@ssw0rd -pwdneverexpires yes
======================================================
UserList.txt (拼音和中文名之间有一个空格)
======================================================
zhangsan 张三
lisi 李四
wangwu 王五
======================================================
仅从操作过程来看非常简单,但有细节之处。
1、dsadd user 是 Windows Server 2003 才具备的工具。
2、UserList.txt 内的原始数据还是需要手工输入的。
3、For语句将读取UserList.txt,把每行第一个空格前的内容赋予变量%%a,空格后的内容赋予变量%%b。For语句中tokens的含义是关键。后面一部分则是dsadd user的命令,可以根据自己的需求修改域名和OU名,如果直接创建在默认的Users文件下的话就把OU=test改成CN=Users。
4、我在创建用户时关注的一些选项以及这些选项在dsadd中的对应开关符
(1)用户登录名 (-upn <UPN> 设置 upn 值为 <UPN>。)
(2)win2000以前版本的用户登录名 (设置了upn会自动生成)
(3)密码永不过期 (-pwdneverexpires {yes | no} 用户密码是否永远不过期。默认值: no。)
(4)账户永不过期 (-acctexpires <NumDays> 设置用户帐户从今天起在 <NumDays> 天内过期。0 值
意味着今天结束后帐户就过期; 正数值意味着帐户在未
来过期; 负数意味着该帐户已经过期并将过期日期设置
在过去; 字符串值 "never" 意味着该帐户永远不过期。)
(5)用户显示名 (-display <DisplayName> 设置用户显示名为 <DisplayName>。)
(6)登录密码 (-pwd {<Password> | *} 设置用户密码为 <Password>。如果是 *,会提示您输入密码。)
(7)用户下次登录是否修改密码 (-mustchpwd {yes | no} 用户在下次登录时是否更改密码。默认值: no。)
(8)账户是否禁用 (-disabled {yes | no} 用户帐户是否禁用。默认值: no。)
5、dsadd user 还有许多开关符,可以根据需要自己添加。我关注的选项中有些默认值就是符合需求的,所以在命令行中没有出现。
6、附图
本文来源:不详 作者:佚名