Windows 2000 Serverでは、Active Directoryの構成後にドメイン名・ドメインツリーの構造・ドメインコントローラのコンピュータ名は変更できない仕様になっていた。そのため、これらの項目を変更するときには、いったんドメインを削除して作り直す必要があった。
Windows Server 2003からこの点を改良して、ドメイン名変更のためのコマンドとしてRENDOMコマンドを追加している。ただし、単に引数として新旧のドメイン名を指定して実行すればよい、というわけではない。今回と次回の2回にわたって、このRENDOMコマンドの使い方について解説する。
もっとも、変更が可能になったといっても、いったん決定して稼働を開始したActive Directoryのドメイン名を変更すれば、いろいろなところに影響が生じる。変更作業を必要としない方が好ましいのは確かであり、ドメイン名の変更は最後の非常手段と考えたい。
RENDOMコマンドでドメイン名を変更する際の前提条件
RENDOMコマンドを使用してドメイン名の変更を行うには、以下の条件を満たしている必要がある。
- フォレストの機能レベルが、Windows Server 2003、あるいはWindows Server 2008ネイティブになっている必要がある
- フォレストルートドメインを、別のドメインに移すことはできないなど、変更できる内容に限りがある。もっとも、単一ドメイン構成を使用している場合、このことを意識する必要はないだろう
- ドメイン名が変わるため、クライアントPCのドメイン参加はやり直しになる
- ドメインベースのDFS(Distributed File System)を運用しており、「\ < ドメイン名 > \< DFSルート名 <」をターゲットにしてフォルダリダイレクトや移動ユーザープロファイルを設定している場合、ドメイン名変更に伴ってリダイレクト先が消失するため、これらの機能は停止する。対策としては、ドメイン ベースのDFSをサーバ ベースのDFS(\ < サーバ名 > \ < DFSルート名 > )に変更してから、ドメイン名の変更を実施する
- プライマリDNSサフィックスを指定しているときには、ドメイン名変更後に設定変更が必要
- ドメインコントローラ以外のサーバで動作しているエンタープライズ証明書サービスは、名称変更によって使用不可能になる
RENDOMコマンドのインストールと引数
RENDOMコマンドの実行ファイルは、Windows Server 2008では最初からインストール済みになっているので、直ちに実行できる。
Windows Server 2003では、セットアップ用CD-ROMの「\VALUEADD\MSFT\MGMT\DomainRename」フォルダからハードディスクにコピーするか、以下のWebサイトからダウンロードする。
Windows Server 2003 Active Directory Domain Rename Tools http://technet.microsoft.com/ja-jp/windowsserver/bb405948(en-us).aspx
また、Windows Server 2003ではセットアップ用CD-ROMの「\Support\Tools」フォルダにある「SUPTOOLS.MSI」ファイルを使って、サポートツールをセットアップする必要がある。これは、サポートツールに含まれるコマンド「repadmin.exe」が必要になるため(Windows Server 2008では、最初からインストール済み)。
次に、RENDOMコマンドの構文と引数について解説する。
まず、RENDOMコマンドの構文は以下のようになっている。
RENDOM /list
RENDOM /showforest
RENDOM /upload
RENDOM /prepare
RENDOM /execute
RENDOM /clean
RENDOM [/user:<USERNAME>] [/pwd:<PASSWORD | *>]
RENDOM [/dc:<DCNAME | DOMAIN>]
RENDOM [/listfile:<LISTFILE>] [/statefile:<STATEFILE>]
RENDOM /end
RENDOM /disablefaz
RENDOM /dnszonefile:<DNSZONEFILE>
RENDOM /?
一方、RENDOMコマンドの引数には、以下のものがある。
*/dc:<DCNAME | DOMAIN> *
指定した名前のドメイン、あるいはドメインコントローラに接続する。ドメイン名を指定した場合には、現在作業中のドメインコントローラに接続する。
/user:<USERNAME >
/pwd:<PASSWORD | *>
RENDOMコマンドを実行するユーザーの資格情報を指定する。省略すると、ログオン中のユーザーの資格情報を使用する。パスワードを直接、引数に指定したくない場合には、「/pwd:*」と入力して、それに続いて表示するプロンプトでパスワードを入力する。
/list
現行ドメインの名前付けコンテキストを、カレントフォルダにXML文書ファイルとして出力する。ファイル名は、引数「/listfile:」で指定したものを使用する。
/upload
RENDOMコマンドによって生成したドメイン名変更用のスクリプトを、作業対象ドメインにアップロードする。
/prepare
作業対象ドメインに対して、認証、スクリプトのアップロード、ネットワーク接続の検証を行い、名称変更を行えるかどうかを確認する。
/execute
アップロードしたスクリプトを使用して、名称変更を実行する。
/clean
ドメイン名の変更に伴って発生した情報を、すべて消去する。
/listfile:<listfile>
引数「/list」を指定した際に生成するXML文書ファイルの名前を指定する。既定値は「Domainlist.xml」。
/statefile:<statefile>
引数「/upload」を指定した際に生成する、ドメイン名変更作業のステータス確認用ファイルの名前を指定する。既定値は「Dclist.xml」。
/showforest
引数「/listfile:<listfile>」で指定したXML文書ファイルを基に、フォレストの構成情報を生成・表示する。
/end
名称変更作業の終了を宣言して、変更作業中にドメインに対して課していた動作制限を解除する。
/disablefaz
ドメイン名変更に伴うDNSの検証に、FAZを使用しない。
/dnszonefile:<DNSzonefile>
DNS情報の検証に使用する、ゾーン情報ファイルを指定する。