図1 Windows 2000ドメイン上の情報をWindows Server 2003ドメインにインポートした画面
図1 Windows 2000ドメイン上の情報をWindows Server 2003ドメインにインポートした画面
[画像のクリックで拡大表示]
図2 エクスポート側の登録情報を確認した画面
図2 エクスポート側の登録情報を確認した画面
[画像のクリックで拡大表示]
図3 インポート側の登録情報を確認した画面
図3 インポート側の登録情報を確認した画面
[画像のクリックで拡大表示]

csvde -d DN名 -s 相手サーバー名 -b ユーザー名 相手ドメイン名 -f CSVファイル名 && csvde -i -c 相手ドメイン識別名 自分のドメイン識別名 -f CSVファイル名

 サーバーを移行したり新しいサーバーを追加したりするときに,すでにActive Directoryドメイン上に登録済みのユーザー・アカウント情報などの情報を,新しいサーバーでも使いたいことがあります。このような場合は,csvdeコマンドを使って,登録済みの情報をCSV形式でエクスポートし,それをやはりcsvdeコマンドで新しいサーバーにインポートします。そうすれば,他のActive Directoryドメイン上のユーザー・オブジェクトやグループをOUの構成を含めて一括登録できます。

 例えば,Windows 2000ドメイン上の「OU=Accounts,<ルートDN>」にあるオブジェクトのうち,コンピュータ・アカウントを除くユーザー・アカウントやグループ,OUをエクスポートし,そのまま異なるWindows Server 2003ドメインにインポートする場合を想定します。この場合は,インポート先のWindows Server 2003ドメイン・コントローラ上から以下のコマンドを実行します(図1)。

csvde -d "OU=Accounts,DC=chabcorp,DC=local" -s chabmb05 -b administrator chabcorp.local * -r "(!objectClass=computer)" -o userAccountControl -m -u -f export.csv && csvde -i -u -c DC=chabcorp,DC=local DC=example,DC=com -f export.csv

ここでは,読み込み先の相手のサーバー名は「chabmb05」でドメイン名が「chabcorp.local」,新しいドメイン名は「example.com」の場合のコマンド実行例です。この中で「-r "(!objectClass=computer)"」というのが,検索結果からcomputerオブジェクトだけを除外するというフィルタとなります。フィルタの演算子には&(アンパーサント)=and,|(パイプライン)=or,!(エクスクラメーション)=not,などがあり,これらを使い分け可能です。

コマンドを実行後,エクスポート側のWindows 2000(図2)とインポート側のWindows Server 2003(図3)とで,同じ情報が設定されていることがわかります。

 Windows Server 2003のデフォルト状態のパスワード・ポリシーでは,アカウントが有効な状態ではインポートに失敗してしまいます。そのためuserAccountControl属性を除外して無効の状態でインポートし,あとでパスワード設定とアカウント有効化を指定します。あるいは,「複数のユーザー・アカウントを一括登録する」の使用例で示したものと同様に「ドメイン・セキュリティ・ポリシー」のパスワード・ポリシーを変更すれば,そのままでもインポート可能です。

 なお,csvdeコマンドで情報インポートしても,元のSIDは引き継ぐことができません。そのため,クライアントのパソコンを新しいドメインに参加させたときには,以前のユーザー・プロファイルはそのままでは使えません。こういった部分では,ADMT(Active Directory移行ツール)を使った場合との違いがあるので注意が必要です。