在以往的工作当中,我帮助很多中小企业客户部署Windows AD域控制器时,那个时候总是和相关负责人一起定义每个人的帐号和密码,甚至针对AD帐号和密码反反复复多次修改、修正,再加上企业用户数量多,手动设置操作步骤复杂,容易出现各种不匹配问题……

对于IT外包部署的我们来说:效率非常低,出错概率高,时间浪费的非常严重!当时,我尝试制作了一张excel表格,在服务器部署前发送给客户,提前收集好每个员工的帐号、密码,共享目录等等,再结合BAT批处理命令,编写批处理小程序一次性的处理这些步骤,大大提升工作效率、节省工作时间,降低996的可能性……!

有了这个脚本,对于IT运维、服务器工程师来说:香不香?

一、excel统计帐号表格

如下图表格,包括编号 公司 部门 姓名 用户名 密码 用户状态 邮箱 手机 共享服务器盘符 (统一) 共享的目录名 (统一) X: 权限 Y: 权限 Z: 权限 统一服务器名 Ad域名 Ad二级域名等信息。

Excel帐号密码统计表

使用excel统计完成后,别存为*.csv格式即可!当然,也可以对离职员工选择:禁用或删除等参数,自动完成帐号禁用或删除操作!

二、脚本运行要素

  • 1、脚本和BAT放置在服务器同一目录下(可自定义任意目录名);
  • 2、Windows server 2008右击以管理员直接运行即可,Windows Server 2012、2016、2019需要以管理员身份运行Windows PowerShell,然后在脚本目录运行;
  • 3、脚本可反复运行、调试,达到需求目标;
  • 4、请注意密码复杂性、AD域名需在excel相匹配、有对应的盘符,前后最好避免空格;

Windows PowerShell管理员身份运行


脚本运行截图

完成后的效果截图

三、脚本代码

该批处理脚本通过if、for语句以行为方式,读取对应的csv文件,截图对应的字符作为DOS命令参数,完成AD用户、密码、配置、文件和共享,达到提升工作效率、减少出错性的目录,便于统计和整理的目标!

@echo off cls echo "" echo ------------------------------------------------------------------ echo Windows 2012 Servr ActiveDirectory Create User bat Scripts..... echo ------------------------------------------------------------------ echo Shanghai DuoLuo information Co.,LTD All rights reserved. echo Shanghai Xuyi Computer information Co.,LTD All rights reserved. echo http://shop35422952.taobao.com echo ------------------------------------------------------------------ echo ------Win2008 右击bat,以管理员身份运行即可! ------ echo ------2012以管理员身份运行“Windows PowerShell”,在对应目录以 “./CreateUsers.bat”------ ECHO *******************读入UsersList.csv的内容******************* for /f "tokens=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20 delims=," %%a in (UsersList.csv) do if %%a==编号 (echo ★★第一栏标题栏不需建立★★) else ( Echo ************************判断帐户状态************************ ECHO 根据UsersList.csv的内容,判断帐号建立、删除、停用属性; if "%%g"=="删除" (net user %%e /delete) else (if "%%g"=="禁用" (net user %%e /active:no) else (echo 建立★%%g★帐号)) Echo ------------------根据csv内容在D盘建立相关目录------------------ ECHO On if not exist %%j%%k md %%j%%k if not exist %%j%%k%%l md %%j%%k%%l if not exist %%j%%k%%n md %%j%%k%%n if not exist %%j%%k%%p md %%j%%k%%p Echo ************************建立公司组织架构************************ ECHO ------------------建立OU单元和私有文件夹------------------ if not exist %%j%%k%%p%%b (dsadd ou "ou=%%b,dc=%%r,dc=%%s,dc=%%t") if not exist %%j%%k%%p%%b%%c (dsadd ou "ou=%%c,ou=%%b,dc=%%r,dc=%%s,dc=%%t") if not exist %%j%%k%%p%%b (md %%j%%k%%p%%b) if not exist %%j%%k%%p%%b%%c (md %%j%%k%%p%%b%%c) if not exist %%j%%k%%p%%b%%c%%d md %%j%%k%%p%%b%%c%%d dsadd ou "ou=%%b,dc=%%r,dc=%%s,dc=%%t" dsadd ou "ou=%%c,ou=%%b,dc=%%r,dc=%%s,dc=%%t" ECHO ------------------建立Active Directory 用户帐号------------------ dsadd user "cn=%%d,ou=%%c,ou=%%b,dc=%%r,dc=%%s,dc=%%t" -upn %%e@%%s.%%t -pwd %%f -display %%d -fn %%d -dept %%c -title %%c -tel %%i -email %%h -mustchpwd no -loscr "%%d.bat" -pwdneverexpires yes -disabled no -samid %%e )

作者:王维翰,资深IT运维工程师,具备20多年IT及相关技术支持,为上海近千家中小企业、家庭用户提供过专业的IT技术支持服务;曾多次获“中小企业十佳项目经理”、“中小企业IT专家”……!