ADMTv3.1の利用方法

更新日時:2010/03/26
作成日時:2009/07/14



ADMTv3.1を利用して、Windows 2000で構成されているActive Directoryドメインのユーザーとコンピュータを、 Windows Server 2008で構成したActive Directoryへ移行します。

本資料で移行するには、ユーザー、パスワード、コンピュータのみとなります。その他の移行については扱っておりません。 クライアントPCのプロファイルの移行作業を無くすだけであれば、本内容だけで十分です。

<参考資料>
ADMT v3.1 Guide: Migrating and Restructuring Active Directory Domains
ADMT v3.1 を使用した Active Directory ドメインの移行と再構築

ADMTを利用する作業は大きく分けて、以下の作業に分類されます。

移行環境の作成
  • 移行に必要な通信路の確保

  • ADMTのダウンロード・インストール

  • 移行先ドメインに監査ログの設定

  • 移行先ドメインにWindows NT 4.0 との互換設定

  • gpupdate /forceの実行
移行前準備(サーバー)
  • DNS参照環境の作成

  • 信頼関係の締結

  • お互いのドメインのAdministratorsグループに相手のAdministratorアカウントを登録

  • 移行元ドメインの機能レベル(機能レベルが2000混在の場合)を2000ネイティブへ変更

  • 移行元ドメインに「NetBIOSドメイン名$$$」というローカル・グループの作成

  • TcpipClientSupportレジストリを作成し"1"に設定する

  • 移行先ドメインにパスワードファイルの作成(パスワードの移行に利用)

  • 移行元ドメインにpwdmig.msiのインストール(パスワードの移行に利用)

  • 移行元ドメインコントローラで"パスワードエクスポートサービス"を開始(パスワードの移行に利用)

移行前準備(クライアント)
  • ファイアウォールの無効設定
  • DNSの詳細設定
  • 両ドメインのAdministratorをAdministratorsグループに追加
  • レジストリ(AllowNT4Crypto)の追加
  • その他
移行
  • ADMTの起動
  • ユーザーアカウントの移行
  • コンピュータアカウントの移行

移行環境の作成
移行に必要な通信路の確保
まず、大前提として移行元ドメインコントローラと、移行先ドメインコントローラで通信が行える必要があります。
通信に必要なポート情報は以下の通りです。

サービス名ポート番号/TCP or UDP
DNS53/tcp, 53/udp
Kerberos88/tcp, 88/udp
RPC endpoint mapper135/tcp, 135/udp
LDAP389/tcp, 389/udp
SMB over IP (CIFS)445/tcp
Global Catalog LDAP3268/tcp
RPC dynamic ports1024-5000/tcp (Windowsのデフォルト設定)

ADMTを利用して移行を行う場合、必ずそれぞれのドメインのPDCエミュレータとの通信が発生します。 当WEBサイトでは、ドメインコントローラはPDCエミュレータを指す事とします。

ADMTを利用する際には、Windows内部の処理として(外部との通信以外にも)、様々な処理が行われます。 その際に既存のアンチウイルスソフトウェアやファイアウォールソフトウェアが通信の邪魔をする可能性があるので、 出来る限り当該アプリケーションは停止(理想はアンインストール)して実施するのが望ましいです。

ADMTのダウンロード・インストール
ADMT version 3.1 をダウンロード・インストールします。
http://www.microsoft.com/downloads/details.aspx?familyid=AE279D01-7DCA-413C-A9D2-B42DFB746059&displaylang=ja

ここでは、Windows Server 2008ドメイン上のドメインコントローラ上にインストールします。
※うまく移行出来ない時にネットワークキャプチャする場合に、PDCエミュレータ上でキャプチャする必要が出てくる為、 (上述してますが)PDCエミュレータ上で作業をするのが望ましいと考えます。

移行先ドメインに監査ログの設定
次に、移行先のドメインに対して監査ログの設定を実施します。
この設定は、GPOである「Default Domain Controller Policy」に対して設定します。

Default Domain Controller Policy
 コンピュータの構成
  聾indowsの設定
   セキュリティの設定
    ローカル ポリシー
     監査ポリシー
      アカウント管理の監査:「成功」及び「失敗」の両方を監査する設定を行います。

移行先ドメインにWindows NT 4.0 との互換設定
続けて、下記ポリシーも設定します。

Default Domain Controllers Policy
 コンピュータの構成
  聾indowsの設定
   管理用テンプレート
    ネットログオン
     麓Windows NT 4.0 と互換性のある暗号化アルゴリズムを許可する] :有効

gpupdate /forceの実行
ポリシーのアップデートを行います。
gpupdate /force を実行します。


ここまでの作業は、1度のみ設定すれば以後実施する必要はありません。
次の「移行前準備(サーバー)」で行う作業は、移行するドメインの数だけ設定する必要があります。


移行前準備(サーバー)

全体的な作業は以下の図の通りです。

ADMTv3.1の事前準備
以下にそれぞれの項目毎にまとめます。

DNS参照環境の作成
まず、お互いのドメインのSRVレコードを参照出来る様に設定します。
方法としては、以下の方法があります。

  • それぞれのドメインコントローラが参照しているDNSサーバーに、
    相手のDNSドメインゾーンのセカンダリゾーンを作成する。


  • ドメインコントローラが参照するDNSサーバーに対して、お互いのドメインのゾーンをホストするDNSサーバーを作成し、 そのDNSサーバーを参照する様に変更する。
ドメインコントローラのプライマリDNSサーバーとして、相手ドメインのDNSサーバーを指定しても意味がありませんのでご注意下さい。 セカンダリDNSサーバーへ切り替わるタイミングは、プライマリDNSサーバーの応答が無い時のみです。

信頼関係の締結
続けて、移行元、移行先のドメイン間の双方向で信頼関係を作成します。

信頼関係の締結については、ADMTの作業範疇から逸れる為、本資料では割愛します。

信頼関係はDNSの設定が正常であれば大体成功しますが、稀にレジストリやメモリに過去の信頼関係の情報が残っていたりすると、 締結に失敗します。つまりDNS、ADSIEDITでオブジェクトの確認、レジストリを確認すると問題解決につながります。
※メモリのクリアは、2000、2003のADでは再起動する必要があり、2008ではAD DSの再起動で行えます。

お互いのドメインのAdministratorsグループに相手のAdministratorアカウントを登録
信頼関係が無事締結出来たら、お互いのドメイン上のAdministratorsグループに対して、対向ドメインのAdministratorユーザーを追加します。

移行元ドメインの機能レベル(機能レベルが2000混在の場合)を2000ネイティブへ変更
移行元ドメインの機能レベルを確認し、2000混在であれば2000ネイティブへ変更します。

移行元ドメインに「NetBIOSドメイン名$$$」というローカル・グループの作成
移行元ドメイン上に、(検証ではUsersコンテナに作成)NetBIOSドメイン名に$$$を加えたドメインローカル・グループを作成します。

作成したドメインローカル・グループにメンバを追加する必要はありません。仮に追加するとsIDHistoryの移行に失敗するのでご注意下さい。
TcpipClientSupportレジストリを作成し"1"に設定する
続けて以下のレジストリを移行元ドメインコントローラに設定します。

レジストリ:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\LSA
エントリ:TcpipClientSupport (REG_DWORD)
値: 1

移行先ドメインにパスワードファイルの作成(パスワードの移行に利用)
パスワードを移行するには、パスワードファイルを作成し、両方のドメインコントローラから作成したパスワードファイルを参照する必要があります。

まず、パスワードファイルを作成するには、移行先ドメインコントローラ(ADMTをインストールしたサーバー)で、以下のコマンドを利用します。

admt key /option:create /sourcedomain:移行元ドメイン /keyfile:移行元ドメイン名.pes /keypassword:パスワード

上記の通りですが、/keyfileオプションに指定したファイル名は、任意のファイル名.pesとなります。
ここでは分かりやすい様に、移行元のドメイン名を利用して、キーファイルを作成してます。
ファイル名はフルパスで指定する必要があります。例)c:\SrcDomain.pes 等

また、/keypasswordオプションで指定するパスワードは、移行元ドメインコントローラに対して、pwdmig.msiをインストールする際に必要になります。

ここで作成したpesファイルは、移行元ドメインコントローラから参照する必要があるので、共有フォルダを作成し、作成したpesファイルを移動します。
移行元ドメインにpwdmig.msiのインストール(パスワードの移行に利用)
インストールウィザードの最後に再起動が求められますので、必ず"NO"を選択して、(夜中等の)可能な時間帯に再起動して下さい。

移行元ドメインに対して、pwdmig.msiをダウンロード・インストールします。
http://www.microsoft.com/downloads/details.aspx?familyid=F0D03C3C-4757-40FD-8306-68079BA9C773&displaylang=ja
pwdmig.msiのインストールに関する注意点は以下の通りです。

 ・パスワードファイルとして移行先ドメインコントローラで共有されているpesファイルを指定します。
  ここでpesを指定するとパスワードを聞かれるので、/keypasswordで指定したパスワードを入力します。
  
 ・サービスを実行するアカウントを指定します。
  ※検証では、移行元ドメイン名\administratorをサービスアカウントとして設定しました。

移行元ドメインコントローラで"パスワードエクスポートサービス"を開始(パスワードの移行に利用)
上記でpwdmig.msiをインストールすると、移行元ドメインコントローラ上に「パスワードエクスポートサービス」サービスが作成されます。
本サービスが開始されていないと、ADMTでパスワードの移行を行う際にエラーが表示されますので、あらかじめ起動しておく必要があります。

移行前準備(クライアント)
ファイアウォールの無効設定
クライアントPC側で、Windowsファイアウォールが有効になっているもしくは、サードパーティ製のファイアウォール製品がインストール されている場合には、事前に無効もしくはアンインストールする必要があります。
DNSの詳細設定
ADMTを利用して移行する際は、DNSに登録されている情報に依存する為、あらかじめDNSの設定を正常化しておく必要があります。
加えて、ドメインの変更の際にも正常なDCへの通信や登録を行う為にも、以下の設定を行う必要があります。

DNSの設定画面

・プライマリDNSサーバーの設定が、移行元のドメインコントローラ等の正常なDNSを利用している
・[プライマリおよび接続専用のDNSサフィックスを追加する]にチェックを入れる
・[この接続のアドレスを DNS に登録する] にチェックを入れる
・[この接続のDNSサフィックス]に移行元のドメイン名を登録する
・[この接続のDNSサフィックスをDNS登録に使う]にチェックを入れる

両ドメインのAdministratorをAdministratorsグループに追加
移行元のAdministratorアカウント及び、移行先のAdministratorアカウントを、明示的にクライアントPCのAdministratorsグループに追加します。
レジストリ(AllowNT4Crypto)の追加
以下のレジストリを設定します。

レジストリ:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Netlogon\Parameters
エントリ:AllowNT4Crypto (REG_DWORD)
値: 1

本設定を実施するクライアントOSは、Windows2000、XP、2003のみです。Windows Vistaは含まれません。


その他
個人的にはあまり存在しないと思いますが、[Microsoft ネットワーク用ファイルとプリンタ共有]が無効の場合、 ADMTを利用する事が出来ない為、確認する必要があります。

また、これらのクライアントPCの設定を1台づつ行うのは現実的はありませんので、スクリプトを利用して 一括設定してしまうのが良いと思います。
加えて、これらの設定後には必ず再起動が必要な為、スクリプトの配信は、ADMTによる移行を行う2〜3日前までには、 実施しておく必要があります。

移行
ADMTの起動
ADMTウィザード画面 デスクトップやスタートメニューから、「Active Directory移行ツール」を実行します。

ADMTウィザード画面
「Active Directory移行ツール」を右クリックすると、画面の様なメニューが表示されます。

今回は、ユーザー・パスワードと、コンピュータを移行するので、 利用するウィザードは「ユーザーアカウントの移行ウィザード」と「コンピュータの移行ウィーザード」です。
※パスワードは「ユーザーアカウントの移行ウィザード」の途中で移行するオプションが表示されます。

ユーザーアカウントの移行
ADMTウィザード画面
「ユーザーアカウントの移行ウィザード」を実行します。

ADMTウィザード画面
まず、移行元のドメイン名、ドメインコントローラと移行先のドメイン名、ドメインコントローラを設定します。
ドメイン名は入力する必要がありますが、ドメインコントローラはADMTが自動的に検索します。

ここで入力されたドメイン名は「Active Directory移行ツール」の起動時に確認されますので、 信頼関係を削除した後に「ユーザーアカウントの移行ウィザード」を起動すると、エラーが表示されます。

ADMTウィザード画面
既存ドメイン上から、移行したユーザーオブジェクトを選択するので、「ユーザーをドメインから選択」に チェックを入れます。

ADMTウィザード画面
「追加」をクリックしてユーザーを選択します。

ADMTウィザード画面
移行先のOUを選択します。

ADMTウィザード画面
パスワードの移行に関して設定します。

 ・複雑なパスワードを生成する:移行時にパスワードが自動作成されます。
 ・パスワードの移行:パスワードを移行します。

 ・既存ユーザーのパスワードを更新しない:このチェックは必須です。

パスワード移行元のDCが表示されます。
この画面で、「パスワードの移行」を選択した場合、移行元のDC上で、 「パスワードエクスポートサービス」のサービスが開始されている必要があります。


ADMTウィザード画面
ここでは移行元アカウントを無効にしてますが、無効にする必要は特にありません。
むしろ移行元アカウントは無効にしない方がトラブルが出なくて済みます
※移行元アカウントを無効にすると、利用中のユーザーがプリンタやファイルを利用出来なくなってしまいます。

「ユーザーSIDを移行先ドメインへ移行」オプションは、旧ドメインが残り、 その旧ドメインへのリソースを、移行するアカウントが利用する場合には必須です。
※ドメインの移行をする(移行元ドメインが残らない)のであればチェックは不要です。

「ユーザーSIDを移行先ドメインへ移行」を利用した状態で、PDCエミュレータとの通信が出来ないといったエラー が表示される場合があります。その場合は移行前準備などの設定が抜けている可能性があります。
ADMTv3.1の事前準備
しつこい様ですが、上記エラーが表示されても、移行元ドメインが残らないのであれば(ドメイン自体の移行で ADMTを利用しているのであれば)本エラーが出ない様に、「ユーザーSIDを移行先ドメインへ移行」オプションを 無効に(チェックを外して)して先に進めてしまっても、プロファイルの移行は可能です。


ADMTウィザード画面
移行元のAdministratorアカウント情報を入力します。

ADMTウィザード画面
上記画面がデフォルトの状態です。
このまま「次へ」を選択します。

ADMTウィザード画面
アカウントのプロパティで除外する項目を選択します。
通常はデフォルトのままで問題ありません。

ADMTウィザード画面
移行先に移行元と同じアカウントが存在した場合のオプションです。
大規模環境の場合、同一ユーザーが互いに存在している可能性があるので、 安易に結合するとトラブルを招きます。よって、競合した場合は移行出来ないように設定し、 エラーが発生(競合が発生)したアカウントをログから確認し個別に調査した方が無難です。

これでユーザーアカウントのウィザードは完了です。
あとはログを確認して正常に移行されているかを確認して下さい。
コンピュータアカウントの移行
コンピュータアカウントの移行は、オブジェクトの移行自体はユーザーアカウントの移行と大差ありませんが、 実際のクライアントPCの所属ドメインを、"リモートから変更"する必要がありますので、 かなり注意が必要となります。

まず、コンピュータアカウントの移行ウィザードを開始して下さい。

ADMTウィザード画面
同様に移行元ドメイン及びDCと、移行先ドメイン及びDCが選択されます。

ADMTウィザード画面
ここも同じように、コンピュータアカウントを選択します。

ADMTウィザード画面

ADMTウィザード画面
移行先のOUを選択します。

ADMTウィザード画面
オブジェクトで変換する項目を選択します。
全て選択します。
※全て選択すると、(導入しているアプリケーションによっては)いくつかの項目でエラーが発生しますが、 移行後に問題が出たケースは(今のところ)ありません。

ADMTウィザード画面
理屈では「置換」でも問題ないと思いますが、「追加」でも問題は出ておりません。

ADMTウィザード画面
コンピュータアカウントの移行をした後に、コンピュータアカウントの所属ドメインの変更を行います。 ここで設定した値が、リモートでドメイン所属が成功した後に再起動する待ち時間になります。

この値は1〜10までで入力する必要があります。
ADMTウィザード画面

ADMTウィザード画面
除外するプロパティを選択します。

ADMTウィザード画面
競合した場合の動作を選択します。

ADMTウィザード画面
完了を押すと移行が開始されます。

ADMTエージェント画面
移行が完了し、ウィザードを閉じるとエージェントの管理画面が表示されます。

意味としては、それぞれ以下の通りです。

「事前確認」

 クライアントPCに対してエージェントが稼働出来る通信が可能かどうか。

 事前確認は重要なプロセスです。
 Firewallや、そのPCが正常にドメインと通信出来ていないと「失敗」します。

事例としては、以下の状態で移行の成功率が高くなります。
・コンピュータにドメインアカウントでログオンしている
・Windows Firewall及びその他Firewallアプリケーションが無効になっている。
・移行前準備(クライアント)の作業が全て行われている。


「エージェントの操作」

 実際のエージェントの処理

事例としては、以下の状態で移行の成功率が高くなります。
・移行前準備(クライアント)の作業が全て行われている。


「事後確認」

 再起動後に、移行が正常に出来ているかの確認
 「失敗」してもドメイン所属の変更さえ正常に出来ていれば問題が起きたケースは(今のところ)ありません。
 全ての内容が確認とれたら、「開始」をクリックします。

 以下のログが結果となります。

ADMTエージェント画面

 特筆すべき点は以下の通りです。
  • ファイルの変換に失敗している
  • 「ドメインの所属を「」に変更しました」と表示されている
上述してますが、ドメインの所属の変更が出来ていれば、ファイルの変換に失敗しても、 ユーザーがクライアントPCを利用する分には問題が起きていません。



以上でADMTの利用方法は終了ですが、この情報は実体験を持って記載しております。 精度を高くする為、その他の情報をお持ちであれば(いつでも)ご提供お願い致します。

また、これらの準備作業については行わなくても正常に動作するケースもありましたが、 ADMTはサーバー・クライアント・ネットワークと全てに依存するので、1台での検証は正直あまり意味がありませんでした。 これらの準備作業を全て実施し、ActiveDirectoryの基本動作が正常に行われていれば、ほぼ成功します。
inserted by FC2 system