批处理向win server AD域添加用户
Charles Ren 人气:0因为要用个批处理命令在Windows Server里面批量添加域用户,所以需要使用批处理命令。
我这篇是纯新手教程,在百度上搜了一些批处理命令感觉属于进阶教程,研究了两天才完成我要完成的目标。
下面从头说一下:
批处理bat文档建立。
直接新建一个TXT文档然后把后缀名改成.bat就可以了,就是一个bat文档,双击可以运行。
注意:bat文件在哪,他的运行路径就在哪。
添加成功的用户
第一种方式:命令行传参添加
dsadd user "cn=%1, ou=RadiusUser,dc=win218, dc=com" -upn %2@win218.com -samid %2 -pwd %3 -display %4 -dept %5 -company %6 -office %7 -tel %8 -disabled no
下面对这条语句进行分析:
- dsadd user :向域中添加用户
- cn=%1 :用户姓名为cn第一个参数%1这个参数是用户在运行命令时需要输入的第一个参数
- ou=RadiusUser :存储文件夹的名称
- dc=win218, dc=com :域名称
- -upn %2@win218.com :这个就是登录名添加在域之前的
- -samid %2 :这个其实也是登录名,只不过版本不同,所以他和上面的参数保持一致
- -pwd %3 :登录密码
- -display %4 -dept %5 -company %6 -office %7 -tel %8 :这个就是里面的描述信息了,放在一块说,依次是:显示名称,部门,公司,办公室,电话。
- -disabled no :直接可用的账户,如果是yes需要解锁账户才能使用。
将以上命令设置为一个bat文件然后可以运行cmd进行调用这个bat文件。因为需要传入参数,所以不能直接点击bat文件使用。以下是效果图:
这里首先要进入到你的bat所在路径,因为我的是2.bat在桌面上所以进入到桌面路径,然后第一个参数是你的bat名字,就是你要运行哪个文件,然后依次输入参数。即可运行。成功添加用户。
我为何要这么做因为另一个人在网站上来添加用户,每次调用我的bat传入参数就可以添加用户,他不需要去AD域中一个个添加很方便。
第二种方式:读取文件添加用户
我是参考这篇文章WIN2008r2 AD用户批量导入
进行的操作,首先新建一个CSV格式的文件
下面进行bat文件的创建
首先我们可以看一下如何查看csv文件在命令框显示
echo 查看文件信息 for /f "tokens=1-7 delims=," %%a in (C:\Users\Administrator.WIN-LS3G942M36M\Desktop\test.csv) do @echo %%a %%b %%c %%d %%e %%f %%g pause
echo表示在命令行要显示的内容跟java中的system.out差不多pause表示暂停,如果不pause,命令行直接就运行完消失了。
运行之后效果:
for /f "skip=1 eol=;tokens=1-7 delims=," %%a in (C:\Users\Administrator.WIN-LS3G942M36M\Desktop\test.csv) do dsadd user "cn=%%a,ou=RadiusUser,dc=win218, dc=com" -upn %%b@win218.com -samid %%b -pwd %%c -display %%a -dept %%f -company %%e -office %%f -tel %%g -disabled no
- skip=1 eol=;tokens=1-7 delims=, :表示跳过文本的第一行,因为第一行是标题。tokens表示一共有七个关键字
- %%a in (C:\Users\Administrator.WIN-LS3G942M36M\Desktop\test.csv):两个%是因为在批处理命令中带字母的参数需要有两个百分号,而命令行中只需要一个。括号中的就是要读取的文件路径。
- do dsadd user “cn=%%a,ou=RadiusUser,dc=win218, dc=com” :添加用户,参数a,b,c分别对应着文本中的参数位置。
用这种方式只需要在excel文件中输入你要添加的用户,然后执行bat文件一次性就可以批量添加用户了。
加载全部内容