有时候我们势必需要快速批量的创建一些临时账户,用于临时用户来使用,下面介绍使用for循环命令来批量创建系统用户和域用户.......!
1.windows批量添加用户
-------------------------
批量添加用户
1)直接在命令提示符下键入:
FOR /L %i in (1,1,n) DO NET USER myuser%i 123456 /add(n可取大于1的任何整数)
将创建 n 个新用户,其用户明分别为 myuser1、myuser2...,一直到myusern为止.
若要在创建用户的同时允许用户以后可以更改密码,那麽只需要在以上创建用户的命令的
基础之上后再跟上/passwordchg:yes
即FOR /L %i in (1,1,n) DO NET USER myuser%i 123456 /add /passwordchg:yes
如要在创建用户的同时设置用户帐户的有效期限,则可直接在命令提示符下输入:
FOR /L %i in (1,1,5) DO NET USER mytest%i 123456 /add /expires:2021/06/30
2)也可以用ADDUSERS.EXE命令。ADDUSERS.EXE的语法结构如下:
addusers[\computername]]|/d|/e}filename[/s:x][/?]
其中:
\computername:欲加入账号的计算机名称,如无指定则为本地计算机。
/c:由filename文件的指定建立用户、本地域组或全局组
/p:在该自变量后的四个参数l,c,e,以及d的组合设置账号的选项,说明如下:
l:用户需在下次登录时变更密码。
c:用户无法变更密码。
e:密码永远有效。
d:账户已停用。
/d:将整个用户账户、本地域组、全局域组写至filename文件中,但是不会将用户密码或有关安全的数据一并写出。
/e:将filename中所指定的用户账户予以删除,但一样无法删除内建用户账号。
filename:用来当作输入/输出的文件名称,而其输入的格式如下:
[user]用户名称,全名,密码,描述,主磁盘机,主文件夹,配置文件,指定文件。
[global]全局组名称,描述,用户1,用户2,......
[local]本地域组名称,描述,用户1,用户2,......
/s:x:规划文件中的分隔符号,若无指定则为“,”。
/?:显示addusers.exe的语法结构。
2.批量添加AD域用户
-------------------
实现批量添加用户和相关账号属性信息
实现方法就是通过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 -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编辑:
用户名称,登录名,密码,姓,名,部门,办公室,职位,电子邮件
白叁,baisan,P@ssw0rd1224,白,叁,市场部,301,经理,baisan@fae.net
伍名,wuming,P@ssw0rd1224,伍,名,市场部,302,职员,wuming@fae.net
考拉,kaola,P@ssw0rd1224,考,拉,市场部,302,职员,kaola@fae.net
以上已经本人测试使用正常,但dsadd命令要在win2003系统下才会有
********************************************************************
张,丽,张丽,abc,123
李,艳,李艳,liyang,123
for /f "tokens=1,2,3,4,5 delims=," %a in (users.csv) do dsadd user "cn=%c,ou=财务部,dc=reskit,dc=msft" -sanid %d -upn -ln &a -fn %b -pwd %e -disabled yes
必须存为csv格式
for /f "tokens=1,2,3,4,5 delims=,"取出 users.csv文件的5个变量,delims分离值是","
%a in (users.csv) do 是取出users.csv文件
dsadd user "cn=%c,ou=财务部,dc=reskit,dc=msft" 创建用户名是张丽 李艳
-sanid %d 登陆名是abc
-upn upn是登陆名
-ln &a 是姓张 李
-fn %b 是名丽 艳
-pwd %e 是密玛 123 123
-disabled yes 是禁用帐号
关于daadd user 的更多用法,可以使用"dsadd user /?"来获取
3.批量删除用户
----------------
FOR /L %i in (1,1,n) DO NET USER myuser%i /del(n可取大于1的任何整数)
将删除myuser1,myuser2,......myusern等n个用户账户