このブログを検索

この記事の内容は、個人の見解、検証の範囲のものであり、誤りがある可能性があります。
個人の責任において情報活用をお願いします。


2024年1月14日日曜日

CSV利用してADにユーザー一括作成。。


ADで検証するときに複数ユーザー欲しいときがあります、、よね。
いろいろなところに情報があるのでブログを書くまでもないのですが、、
今後、自分が検証環境で使うときにすぐ使えるためのメモとして残します。。

利用した環境:Windows Server 2022(評価版)
ゴール:”Grp001-B-支社”にユーザーを一括作成
完成図↓

実現までのステップ
  1. グループを使う場合は、先にグループを作成する
  2. dsadd userコマンドでOU内に作成したいユーザーを作成できるコマンドを確定する
  3. 一括ユーザー作成用のパラメーターCSVを作成する
  4. 実行コマンド作成
  5. コマンドプロンプト(管理者権限)でコマンド実行
  6. 作成できたことを確認する

1.グループを使う場合は、先にグループを作成する
 一括作成したユーザをグループに登録する場合は、先にグループを作成しておく

2.dsadd userコマンドでOU内に作成したいユーザーを作成できるコマンドを確定する
ユーザーを1つ作成できるコマンドとパラメーターを確定する
作成するユーザー
・OU”Grp001-B-支社”にユーザーを作成
・作成したユーザーをグループ”Grp001-B-支社-一般”に追加
・氏名、モバイル、社員番号、会社情報、部署、役職など必要パラメーターを設定する
 ※モバイル番号はダミー番号を使用する(テストなので、、)
  ダミー番号は総務省ホームページ参照 → ☆リンク☆
   
作成したスクリプト例:
dsadd user CN="Grp001-B-GA user01",OU=Grp001-B-支社,OU=Grp001-総務,DC=site001,DC=demo,DC=test -ln Grp001-B-GA -fn user01 -empid 20100001 -mobile 070-XXXX-XXXX -pwd "パスワード" -pwdneverexpires yes -samid grp01-b-ga-user01 -upn grp01-b-ga-user01@site001.demo.test -email grp01-b-ga-user01@site001.demo.test -display "Grp001-B-GA user01" -company "TEST Lab Co.Ltd." -office "支社" -dept "総務部" -title "一般" -memberof cn="Grp001-B-支社-一般",OU="Grp001-B-支社",OU="Grp001-総務",DC="site001",DC="demo",DC="test"
3.一括ユーザー作成用のパラメーターCSVを作成する
 こんな感じでまずパラメーターごとのCSVを作成してみる。
 あとで流すコマンドで列(カラム)の対応が必要なので準備する。
 また、コマンドでカラムの数を指定するので数えておく。
 コマンドのパラメータで重複がある場合は整理する。


 最終的にこんな感じにまとめる。以下のキャプチャは一部。


 作成したCSVファイルで日本語文字列を使用する場合は、文字コードをANSIにして任意の場所に保存する。作成したCSVファイルはコマンドでパスを指定するのでパスを控えておく。

4.実行コマンド作成
 整理して以下のようなコマンドを作成する
 ※以下のコマンドはもう少しまとめられたが、今後流用するときに戻すのが面倒なので
  パラメーターの集約はほとんどしていない
for /F "tokens=1-20 delims=," %A in (C:\user.csv) do dsadd user CN="%A",OU=%B,OU=%C,DC=%D,DC=%E,DC=%F -ln %G -fn %H -empid %I -mobile %J -pwd "%K" -pwdneverexpires yes -samid %L -upn %M -email %N -display "%O" -company "%P" -office "%Q" -dept "%R" -title "%S" -memberof cn="%T",OU="%B",OU="%C",DC="%D",DC="%E",DC="%F"

5.コマンドプロンプト(管理者権限)でコマンド実行


”dsadd 成功”と表示され、ユーザーが作成されたことを確認する。
エラーとなる場合は、パラメーターの置換によりコマンドがおかしくなっているはず。。
エラー箇所もメッセージから推測できるので該当箇所を修正する。

6.作成できたことを確認する


以上。