社内のテスト環境での事。
完全に単独で存在するWindows 2000 Serverのドメイン環境。
(1フォレスト、1ドメイン、1ドメインコントローラ)
ドメイン名を仮にtest.localとします。
その配下に新たに子ドメインを新規に作成するため、Windows Server 2003 SP1をdcpromoでドメインコントローラに昇格させようとした。
作成しようとしたドメインを仮にsub1.test.localとします。
ここでこんなメッセージが出て、dcpromoは終了してしまう。
次のエラーにより、操作に失敗しました
Windows Server 2003 のインストール用にフォレストが準備されていないために、Active Directoryインストールウィザードを続行できません。Adprepコマンドラインツールを使ってフォレスト及びドメインの両方を準備してください。Adprepの使用法についての詳細は、Active Directoryヘルプを参照してください。
"ソースフォレストのActive DirectoryスキーマのバージョンはこのコンピュータのActive Directoryのバージョンと互換性がありません。"
調べてみると、フォレストのスキーマ操作マスタになっているWindows 2000 Serverのドメインコントローラで、Active Directory準備ツールadprep.exeを使って事前にスキーマの拡張をしておく必要があるらしい。
マイクロソフトサポート技術情報
http://support.microsoft.com/kb/324392/ja
・Windows Server 2003 Service Pack 1 および修正プログラム 324392 の Adprep.exe に対する拡張機能
確かにadprep.exeはWindows Server 2003のCDのi386フォルダに収録されている。
また上記URLの記事では、無印のWindows Server 2003のCDを使用する場合は、修正モジュールを入手する必要があるらしい。
今回はSP1込みのWindows Server 2003のCDなので、とりあえずそこには触れないでおこう。
(正確にはWindows Server 2003 R2 180日間限定評価版のCDだけど)
まずフォレストのスキーマ操作マスタになっているWindows 2000 Serverのドメインコントローラ(test.local)で、adprep.exe /?でヘルプを確認。
その後adprep.exe /forestprepでフォレスト全体のスキーマ拡張。
そのままWindows Server 2003をtest.localの追加ドメインコントローラとして昇格させようとすると、今度はadprep.exe /domainprepを行えと警告される。
うんうん、予想通りだな。
しかし当初の予定通りtest.localの子ドメインとして昇格させると、正常にsub1.test.localが誕生。
以上のことをまとめると、
・まず最初にフォレストのスキーマ操作マスタでadprep.exe /forestprepを実行しておく
・既存ドメインの追加ドメインコントローラの場合、そのドメインの既存DCでadprep.exe /domainprepを実行しておく
注意点としては、
・フォレストのすべてのDCが、Windows 2000 Server SP2以上であること
(またはWindows 2000 Server SP1 + QFE 265089)
・初期版Windows Server 2003のCDからAdprepを実行する場合、修正されたAdprep.exeを入手する必要がある
知ってる人は知ってるんだろうけど、私は今回初めて知りました。
私の今の客さんは、Windows Server 2003のCALの問題で、まだサーバはWindows 2000 Serverにダウングレードして利用しているため、この件には気づかなかった。
ああ、勉強になりました。
参考までにadprepの画面に出てきたログをご紹介します。
・Adprepのヘルプ
・Adprep /forestprepの画面ログ
・Adprep /domainprepの画面ログ