ここまで、Active Directoryとドメインコントローラの構成について取り上げてきたが、今週はドメインコントローラのOSアップグレードについて解説しよう。

OSアップグレードとActive Directoryスキーマ

Active Directoryには、「Active Directoryスキーマ」という機能があり、これがActive Directoryで扱うことができる情報について規定している。

Active Directoryスキーマの内容は、必要に応じて拡張できるようになっている。Windowsサーバ上で動作するソフトウェアだけでなく、Windowsサーバ自身もバージョンアップするにつれてActive Directoryスキーマを拡張している。そのため、Windowsサーバのバージョンが変わる場合には、Active Directoryスキーマの拡張が必要になる。

新規にWindows Server 2008を使ってドメインコントローラを構成するのであれば、最初からWindows Server 2008のActive Directoryに合わせた内容のActive Directoryスキーマを用意するので、拡張作業は必要ない。

この操作が必要になるのは、すでに稼働しているドメインコントローラのOSをバージョンアップする場合だ。たとえば、Windows 2000 ServerやWindows Server 2003を使って稼働しているドメインコントローラがあり、そこにWindows Server 2008を上書きセットアップしてアップグレードする場合に、Active Directoryスキーマの拡張が必要になる。

この、Active Directoryスキーマの拡張を行うためのツールが、「adprep.exe」だ。Windows Server 2003ではCD-ROMの「i386」フォルダに、Windows Server 2008ではDVD-ROMの「\sources\adprep」フォルダに置かれている。

adprep.exeによるスキーマ拡張操作の実際

前述したように、adprep.exeによるスキーマ拡張が必要になるのは、Windows 2000 Server、あるいはWindows Server 2003ベースのActive Directory環境が稼働しているときに、上書きアップグレードによってWindows Server 2003、あるいはWindows Server 2008に更新する場面だ。

adprep.exeを実行する前に、以下の作業を行っておく必要がある。

・最新のService Packを適用する
・コントロールパネルの[プログラムの追加と削除]で、Active Directory用の管理ツールを削除する

続いて、Active Directoryでスキーマ マスタになっているコンピュータに、Domain Admins、Schema Admins、Enterprise Adminsの各グループすべてに所属しているユーザー アカウントでログオンする。Administratorユーザーでログオンすれば間違いない。

なお、スキーママスタになっているコンピュータがどれか分からないときには、コマンドプロンプトで「dsquery server -forest -hasfsmo schema」と入力すると確認できる。

adprep.exeはコマンドラインツールなので、コマンドプロンプトを起動して、そこから実行する。まず、以下のようにしてカレントドライブとカレントフォルダの移動を行う。


C:\Users\Administrator>H:
H:\>cd \sources\adprep      (Windows Server 2008の場合)
H:\>cd i386         (Windows Server 2003の場合)

この例では、CD-ROM/DVD-ROMドライブが「H:」ドライブになっている前提になっているが、ドライブ名が異なる場合には、適宜、読み替えていただきたい。

こうして、adprep.exeがあるフォルダに移動した後で、以下のコマンドを入力する。


adprep /forestprep

このコマンドを入力すると、adprepコマンドの実行に必要な確認事項を表示する。そこで表示した内容がすべて実行済みであれば、[C]キーをタイプしてから[Enter]キーを押す。すると、adprep.exeによるスキーマ拡張作業を開始する。

もしもこのとき、ログオンしているユーザーの所属グループや作業対象のコンピュータに問題があるとエラーメッセージを表示するので、グループ設定やコンピュータを正しいものに変更してからやり直す。

正常に作業が完了したら、以下のコマンドを入力する。


adprep /domainprep

Windows Server 2008にアップグレードする場面で、かつ読み取り専用ドメインコントローラ(次回に取り上げる予定)を導入するときには、さらに以下のコマンドを入力する。


adprep /rodcprep

Windows Server 2008にアップグレードする場合、同じユーザーアカウントを使って、インフラストラクチャマスタになっているコンピュータにログオンする。続いて、先と同様にしてadprep.exeがあるフォルダに移動する。インフラストラクチャマスタになっているコンピュータがどれか分からないときには、コマンドプロンプトで「dsquery server -forest -hasfsmo infr」と入力すると確認できる。

続いて、以下のコマンドを入力する。


adprep /domainprep /gpprep

Windowsサーバの上書きセットアップ

ここまでの作業により、Active Directoryのスキーマ更新作業が完了する。その後、アップグレード対象となるWindowsサーバが動作している状態でWindows Server 2003、あるいはWindows Server 2008のディスクをセットして、セットアッププログラムを実行する。すると、セットアップ形態は既定値で上書きアップグレードとなるので、指示に従ってセットアップを行えばよい。

なお、そのままではActive Directory管理ツールが存在しない状態になるため、以下のようにして対処する。

・Windows Server 2003にアップグレードした場合、Windows Server 2003 CD-ROMの「i386」フォルダにある「ADMINPAK.MSI」ファイルをダブルクリックして、ドメイン管理ツールをセットアップする
・Windows Server 2008の場合、[サーバーマネージャ]で機能の追加を指示して、[リモートサーバー管理ツール]-[役割管理ツール]-[Active Directoryドメインサービスツール]-[Active Directoryドメインコントローラツール]を追加する

ドメインコントローラが複数台ある場合、それらについても上書きアップグレードを行う。ただし、Active Directoryスキーマの拡張は最初に行えばよいので、2台目以降ではadprep.exeを実行する手順を省略して、

管理ツールのアンインストール → Windowsサーバの上書きセットアップ → 管理ツールの追加

と作業を進めることになる。