先日現場で急遽作成することになったWindows Active Directory user登録バッチファイル。
csvファイルを読み込んでdsaddで登録しています。
用意するcsvファイル
1 2 3 |
; userid,password user01,PassWord01 user02,PassWord02 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
@ECHO OFF echo Create by Kimiaki MATSUOKA@RootLinks.net set LOG=addUser.log echo START %DATE% %TIME% >> %LOG% rem Create OU dsadd ou ou=Dev,dc=rootlinks,dc=local dsadd ou ou=SecGroup,dc=rootlinks,dc=local rem Create Security group dsadd group cn=DevGroup,ou=SecGroup,dc=rootlinks,dc=local rem Create HomeDirectory mkdir D:\home net share home$=d:\home /GRANT:Everyone,FULL /CACHE:None icacls d:\home /grant "BUILTIN\Administrators:(OI)(CI)(F)" /inheritance:r icacls d:\home /grant "rootlinks\DevGroup:(OI)(CI)(M)" rem %%i=ID, %%j=pw :Read FOR /F "usebackq eol=; tokens=1,2 delims=," %%i in (UsersList.csv) do ( call :add_users %%i %%j ) goto end :add_users set upn="%1@rootlinks.local" set grp="cn=DevGroup,ou=SecGroup,dc=rootlinks,dc=local" echo %1 is processed dsadd user cn=%1,ou=Dev,dc=rootlinks,dc=local -upn %upn% -pwd %2 -memberof %grp% -mustchpwd no -canchpwd no -pwdneverexpires yes -hmdir "\\ServerName\home$\%1" -hmdrv x: -loscr "Logon.bat" >> %LOG% mkdir D:\home\%1 icacls D:\home\%1 /grant "BUILTIN\Administrators:(OI)(CI)(F)" /inheritance:r icacls D:\home\%1 /grant "rootlinks\%1:(OI)(CI)(M)" goto :eof :end echo END %DATE% %TIME% >> %LOG% pause |
参考になるようにou作成,セキュリティグループ作成,ユーザ登録,ホームフォルダ作成等、一連の作業を行うようにしています。
オプション等は必要に応じて変更して下さい。
6,000アカウントを約40分で登録できました(^^