ActiveDirectoryにユーザーをCSVファイルから一括登録

ActiveDirectoryの構築時や新入社員を一括で登録したい場合に有効な方法です。

今回は次の項目を登録します。

  1. 登録先(UserDN)
  2. FirstName(-fn)
  3. LastName (-ln)
  4. DisplayName(-display)
  5. Password (-pwd)
  6. PasswordNeverExpores(-pwdneverexpires
  7. UserName (-u)

テキストファイルやExcelでタブ区切りのCSVファイルを作成します。
(Excelでリストを作成した場合は、テキスト(タブ区切り)で保存します。書き出し後にファイルを開き、UserDNの””を削除します。)

for /f “tokens=1-7 skip=1 delims=  ” %A in (C:\userlist.txt) do dsadd user “cn=%D,%A” -ln %B -fn %C -display %D -pwd %E -pwdneverexpires %F -u %G
  • tokens=1-7:ファイルのどの列から取り出すかを指定しています。
  • skip=1 : 1行目は列タイトルのため読込をスキップさせています。
  • delims=tab : デフォルトでは区切り文字がタブとスペースです。First NameとLast Nameの間にはスペースがあり、スペースも区切り文字と認識されるため、=の後をTAB入力することで、タブだけを区切り文字として認識させています。※実際はタブの分だけスペースが空いています
  • ※コマンドラインにタブ入力させるためには、name completionを次のコマンドでCMD /F:OFF 無効にしておきます
  • %A ~ %G : Excelの列の値
 上記コマンドを実行前に必ず変数に正確に値が代入されているか確認してください。
for /f “tokens=1-7 skip=1 delims= ” %A in (C:\userlist.txt) do echo %A %B %C %D %E %F %G