Active Directory に登録されているドメインコントローラを削除する

SERVER


Active Directory に残されたドメインコントローラ

Windows Server 2003 にて、Windows ドメインを 2 台のドメインコントローラにて運用してみていたのですけど、あるとき一台が致命的なシステムエラーを発生させてしまって再インストールする必要性に迫られてしまったのでした。

サービスプログラムがほとんど停止してしまってほとんど何も出来ない状態だったので、ドメインコントローラから降格させることもできず、そのまま Windows の入れなおしを行うこととしたのですけど、同じ PC 名でドメインコントローラとしてドメインに参加させようとしてみると、既に登録されているだったかでエラーとなってしまいました。

通常のメンバーサーバとしての参加ならば 【Active Directory ユーザーとコンピュータ】 にて削除してあげれば良いのですけど、ドメインコントローラの場合はいろいろなところに情報が登録されているので、それをちゃんと削除しないといけません。

なので、その作業をやってみることとしました。

 

登録されているドメインコントローラを削除する

Active Directory から削除する

今回は正常に稼動しているドメインコントローラにて作業を行ってみます。コマンドプロンプトを起動したら "ntdsutil" と打ち込んでプログラムを起動したら、次のようにしてとりあえず正常に稼働中のドメインコントローラに接続します。

なお、ここでは正常に稼動しているドメインコントローラ名を "DC_ACTIVE" として、削除しようとしている方を "DC_DOWN" として話を進めて行きます。

ntdsutil: metadata cleanup

metadata cleanup: connections

server connections: connect to server DC_ACTIVE

server connections: quit

ドメインコントローラ "DC_ACTIVE" に接続したら、次のようにして登録されているドメインのリストを表示させます。

metadata cleanup: select operation target

select operation target: list domains

これで、登録されているドメインの一覧が次のような形で表示されます。

番号 - DC=****,DC=****,DC=****

DC= のところは、ドットで区切られたドメイン名の部分部分がばらばらに書かれる感じです。先頭の番号はそのドメインの登録番号です。この番号を使って、次のようにして目的のドメインへ接続します。

今回は 0 番が、削除したいドメインコントローラ "DC_DOWN" が登録されているドメインであるとして話を進めます。

select operation target: select domain 0

このようにすると、次のようなメッセージが表示されました。

現在のサイトがありません

ドメイン - DC=****,DC=****,DC=****

現在のサーバがありません

現在の名前付けコンテキストがありません

”サーバがありません” というメッセージが目立つのですけど、これは順次選択して行くことで埋まって行くので、とりあえず目的の ”ドメイン” が選択されていれば問題なしです。

 

このまま続いて、このドメインに登録されているサイト一覧を取得します。

select operation target: list sites

これで、選択されているドメインに登録されているサイトの一覧が次のような形で表示されます。

番号 - CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=****,DC=****,DC=****

今回も 0 番が目的のサイトであるとして、それを選択します。

select operation target: select site 0

このようにすると新たに ”サイト” の項目が埋められて、次のようなメッセージが表示されました。

CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=****,DC=****,DC=****

ドメイン - DC=****,DC=****,DC=****

現在のサーバがありません

現在の名前付けコンテキストがありません

 

ここまで選択が出来たら、いよいよドメインコントローラの一覧を取得します。

select operation target: list servers in site

こうすると、次のような感じでドメインコントローラの一覧が表示されました。

番号 - CN=DC_DOWN,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=****,DC=****,DC=****

今回は 2 台のドメインコントローラが登録されていますので、2 行に渡って 0 番と 1 番とでそれぞれ "DC_ACTIVE" と "DC_DOWN" とが表示されました。

ここで、”削除したい” ドメインコントローラ ( 今回は 1 番 ) を選択します。

select operation target: select server 1

このようにすると新たに ”サーバ” の項目が埋められて、次のようなメッセージが表示されました。

CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=****,DC=****,DC=****

ドメイン - DC=****,DC=****,DC=****

CN=DC_DOWN,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=****,DC=****,DC=****

DSA オブジェクト - CN=NTDS Settings,CN=NAME2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=****,DC=****,DC=****

DNS ホスト名 - DC_DOWN.****.****.****

コンピュータ オブジェクト - CN=DC_DOWN,OU=Domain Controllers,DC=****,DC=****,DC=****

現在の名前付けコンテキストがありません

これで選択作業は終了です。

select operation target: quit

 

ここまできたら、いよいよドメインコントローラの削除処理に入ります。

metadata cleanup: remove selected server

このようにすると現在選択されている情報とともに、もう一台ドメインコントローラが存在しているので、最後のドメインコントローラではないという旨が表示され、そして選択されているドメインコントローラを削除するかどうかを尋ねられます。

このとき、削除対象のドメインコントローラは感z年にオフラインになっている必要があるとのことでしたので、今回の環境ではインストールし直した状態だったのですけど、念のためシャットダウンしておきました。なお、ドメインコントローラがオンラインに戻った場合にはサーバオブジェクトは復元されるとの説明書きもありましたので、その辺りも念のため記憶にとどめておくと良さそうです。

 

ともあれ、間違った方を削除しないように表示されている情報を確認しつつ、削除処理に移ってみれば、特にエラーが表示されることもなく、ほんの少し待つことで削除処理は終了となりました。

処理が正常に終了したら、次のようにして "ntdsutil" を終了します。

metadata cleanup: quit

ntdsutil: quit

 

DNS に登録されている情報を削除する

Active Directory からの削除が終わったら、あとは DNS に登録されている関連レコードを削除します。

削除手順によると、該当するドメインの "_msdcs.root domain of forest" ゾーンにある CNAME レコードを削除しておかないと、ドメインコントローラの再インストールと再昇格の際に支障を来たす可能性があるとのことでした。

まさに今回の場合でしょうから探そうとしてみたんですけど、上記ゾーンがどこだかわからずに困ってみたりしました。結局はなんてことない、該当するドメインの "_msdcs" という項目ことだったんですけどね。この中に、なにやら識別子のような複雑な名前の CNAME レコードが登録されていて、その値としてドメインコントローラの名前が登録されているようでした。

ただ、現在稼働中の "DC_ACTIVE" の方はあるのですけど、削除してもらった "DC_DOWN" の方は存在していませんでした。もしかすると "ntdsutil" が削除してくれたのかも知れないですね…。とりあえず、残っていたら消すという感じで良さそうです。

 

他にも該当するドメインの各階層の中に、削除した "DC_DOWN" をレコード名とする情報がいくつも残っていましたので、それらもすべて手動で削除しておきました。

 

削除終了

これで削除処理は終了みたいです。

今回は残った方がすべての操作マスタでしたけど、もし削除されたドメインコントローラが操作マスタの役割を担っていたならば、念のためちゃんとそれらが残ったサーバに移っているか確認して、移ってなければ移してあげた方が良いでしょう。

そのあたりについては EZ-NET: ドメインコントローラを Windows Server 2003 に置き換える が参考になるかもしれないです。

 

ともあれこの後、再インストールしたサーバをドメインコントローラに昇格してみたところ、正常に再昇格することが出来ました。手動で削除した DNS レコード等も、当然ながらしっかりと自動的に再登録されました。