図1 登録するユーザー情報をまとめてCSVファイル
図1 登録するユーザー情報をまとめてCSVファイル
[画像のクリックで拡大表示]
図2 CSVファイルを読み込んで登録した画面
図2 CSVファイルを読み込んで登録した画面
[画像のクリックで拡大表示]
図3 「日経太郎」というユーザーが登録されていることを確認した画面
図3 「日経太郎」というユーザーが登録されていることを確認した画面
[画像のクリックで拡大表示]
図4 dsquery *コマンドとdsmod userコマンドで登録したアカウントを有効にしてパスワードを設定した画面
図4 dsquery *コマンドとdsmod userコマンドで登録したアカウントを有効にしてパスワードを設定した画面
[画像のクリックで拡大表示]
図5 ドメイン・セキュリティ・ポリシーの設定を変更した画面
図5 ドメイン・セキュリティ・ポリシーの設定を変更した画面
[画像のクリックで拡大表示]

csvde -i -f CSVファイル名

 新たにActive Directoryドメインを構築する場合,まず全ユーザーの情報を登録することが必要となります。ですが,数人や数十人ならまだしも,何百人というユーザーがいる場合には,GUI画面で一人ひとりの情報を設定していくのでは大変な手間と時間がかかってしまいます。こんなときは,csvdeコマンドを使って,あらかじめCSVファイルの形で用意したユーザー情報をまとめて登録するのが便利です。

 読み込ませるユーザー情報は,CSVファイルの1行目に登録する属性名を記載し,2行目以降でユーザーごとに対応する属性の値をカンマ区切りで記載します(図1)。例えば,ユーザー・オブジェクトには数多くの属性が設定でき,オブジェクトのプロパティ画面から確認できます(マイクロソフトのWebサイト参照)。ユーザー・アカウントを新規で登録するには,このうちDN,objectClass,sAMAccountNameの三つの属性が最低限必要になります。

 こうして用意したCSVファイルの情報をサーバーにインポートするにはcsvdeコマンドを以下のように実行します(図2)。

csvde -i -f CSVファイル名

 インポートの結果を「Active Directoryユーザーとコンピュータ」のスナップインで見てみると,確かに登録されていることが確認できます(図3)。

 なお,csvdeコマンドでアカウントをインポートした場合,特に設定をしていない場合は登録したアカウントは無効な状態になっています。また,csvdeではパスワードのインポートはできないため,後から他の方法(net userやdsmod userコマンド,ADSIスクリプト)でパスワード登録とアカウントの有効化を設定し直す必要があります。例えば,簡単な例としてdsquery *コマンドからdsmod userコマンドへのパイプラインで設定する方法を示すと図4のようになります。

 このような設定をしたくない場合には,一時的にActive Directoryの「ドメイン・セキュリティ・ポリシー」から設定できる「パスワードのポリシー」の「パスワードの長さ」を0文字,「パスワードは,複雑さの要件を満たす必要がある」を「無効」に設定し(図5),userAccountControl属性値を「512」としてCSVファイルに加えておくことで,「パスワードなし」で「ユーザーは次回ログオン時にパスワードの変更が必要」という状況でアカウントを登録することもできます。