实现批量添加用户和相关账号属性信息
实现方法就是通过FOR命令循环执行dsadd命令,这个 for 程序体的语句引用 %a 来取
得第一个符号,引用 %b 来取得第二个符号从%a~%z,如果你的文档里有5列分别是1~5
的值,那变量%a就是1,依此往下推,命令行示范如下:
for /f "skip=1 eol=; tokens=1-9 delims=, " %a in
(c:\ADuserdata.csv) do
dsadd user cn=%a,cn=users,dc=sample,dc=net -upn %b@sample.net
-samid %b -
pwd %c -fn %e -ln %d -dept %f -office %g -title %h -email %i
-mustchpwd yes
-disabled yes
参数含义: skip=1跳过第一行数据 eol=;注释行开始字符为";"
tokens=1-9每次提取
1-9个变量 delims=, 分割符号为","
in后面的地址最好写绝对地址,免得电脑找不到. csv文件最好使用Excel编辑,
1. 编辑中的csv文件无法被命令行使用,请关闭Excel后运行命令行程序
2. -fn %e -ln %d 姓名位置的颠倒是按照中文习惯,有意为之,如果是老外的名字也
可以按顺序填写入csv文件中姓/名位置。
3. 其它dsadd参数含义请参看dsadd user /? 提示或从Windows2003帮助文档获取。
对应范例文件ADuserdata.csv内容,推荐利用Excel编辑:
a b c d e f g h i
用户名称,登录名,密码,姓,名,部门,办公室,职位,电子邮件
白叁,baisan,P@ssw0rd1224,白,叁,市场部,301,经理,baisan@fae.net
伍名,wuming,P@ssw0rd1224,伍,名,市场部,302,职员,wuming@fae.net
考拉,kaola,P@ssw0rd1224,考,拉,市场部,302,职员,kaola@fae.net