今回は、Active Directoryのドメインコントローラを降格させる手順を記載します。
ドメインコントローラを降格させるため、ドメコンは2台構成で降格手順を実行します。
前提条件
今回はADの降格を行うため、ADは2台構成を取っています。
各ADの構成は以下の通りです。
- Server : AD1号機
- CPU : 2vCPU
- MEM : 4GB
- DISK : 60GB
- OS : Windows Server 2022
- Hostname : dev-ad01
- IP : 192.168.100.168
- Server : AD2号機
- CPU : 2vCPU
- MEM : 4GB
- DISK : 60GB
- OS : Windows Server 2022
- Hostname : dev-ad02
- IP : 192.168.100.169
Active Directoryの情報は以下の通りです。
- フォレストの機能レベル : Windows Server 2016
- ドメインの機能レベル : Windows Server 2016
検証環境のため、サイト構成はシングルサイトで構成しています。
今回は、FSMOはAD1号機が持っていますが、容赦なくAD1号機を降格させていきます。
Windows Server 2022の構築については、こちら
Windows Server 2022でActive Directoryを構築する手順については、こちら
FSMOの移動
Active Directoryで降格を行う場合、ADの構成をしっかりと理解しておく必要があります。
場合によっては、ADの構成図を作成し、どのサーバにFSMOが存在しどの方向にレプリケートしているかを確認しましょう。
今回は、AD1号機(dev-ad01)がFSMOを持っており、そのADを降格させていきます。
ADの降格時にFSMOは自動的に別のサーバに移動すると思いますが、念のため手動でFSMOを移動させていきたいと思います。

AD1号機でコマンドプロンプトを起動し、以下のコマンドを実行します。
>netdom query fsmo
スキーマ マスター dev-ad01.ad.local
ドメイン名前付けマスター dev-ad01.ad.local
PDC dev-ad01.ad.local
RID プール マネージャー dev-ad01.ad.local
インフラストラクチャマスタ dev-ad01.ad.local
このように、netdom queryコマンドを実行すると現在のFSMOの場所を特定するとことができます。

FSMOの場所が確認できたら、各サーバとレプリケーションが正常にできていることを確認します。
> repadmin /showrepl
このコマンドを実行すると入力方向の近隣サーバが表示され、どのサーバとレプリケートがされているか確認できます。
確認すべき点は、同期されたサーバ名とレプリケーションがいつ行われたのかを確認しておきます。
サイト設計によっては、サイト間同期が時間単位で設定されている場合もあるため、必ずしも直近の時間で同期が完了しているとは限りません。
このコマンドは可能であれば全ADで実行し、全ADが想定された設計の元、正常にレプリケーションができているかを確認します。

FSMOの場所とレプリケーションの正常性が確認できたらFSMOの機能を移動する準備を行います。
コマンドプロンプトで以下のコマンドを実行し、FSMOのメンテナンスモードに切り替えます。
> nodsutil
ntdsutil : roles
fsmo maintenance : connections
Server connections : connect to server dev-ad02.ad.local(FSMO移動先のサーバをFQDNで指定)
dev-ad02.ad.localに結合しています...
ローカルでログオンしている資格情報を使ってdev-ad02.ad.localに接続しました。
server connections : quit
fsmo maintenance :
このfsmo maintenanceのプロンプトが表示されればFSMOを移動する準備は完了です。
fsmo maintenanceの状態で以下のコマンドを実行し、スキーママスタを転送します。
fsmo maintenance : Transfer schema master

コマンドを実行すると[サーバ “dev-ad02.local”にスキーママスターの役割を転送しますか?]と表示されるため、[はい]を選択します。

転送が正常に実行されると、現在の各操作マスタの位置が表示されます。
今回は、スキーママスタを転送したので、スキーママスタのCNが[DEV-AD02]となっていることを確認します。
以下のコマンドを実行し、名前付けマスタを転送します。
fsmo maintenance : Transfer naming master

コマンドを実行すると[サーバ “dev-ad02.local”に名前付けマスターの役割を転送しますか?]と表示されるため、[はい]を選択します。

転送が正常に実行されると、現在の各操作マスタの位置が表示されます。
今回は、名前付けマスタを転送したので、名前付けマスタのCNが[DEV-AD02]となっていることを確認します。
以下のコマンドを実行し、インフラストラクチャマスタを転送します。
fsmo maintenance : Transfer infrastructure master

コマンドを実行すると[サーバ “dev-ad02.local”にインフラストラクチャマスターの役割を転送しますか?]と表示されるため、[はい]を選択します。

転送が正常に実行されると、現在の各操作マスタの位置が表示されます。
今回は、インフラストラクチャマスタを転送したので、インフラストラクチャマスタのCNが[DEV-AD02]となっていることを確認します。
以下のコマンドを実行し、プライマリドメインコントローラのドメインの役割を転送します。
fsmo maintenance : PDC

コマンドを実行すると[サーバ “dev-ad02.local”にプライマリドメインコントローラのドメインの役割を転送しますか?]と表示されるため、[はい]を選択します。

転送が正常に実行されると、現在の各操作マスタの位置が表示されます。
今回は、PDCを転送したので、PDCのCNが[DEV-AD02]となっていることを確認します。
以下のコマンドを実行し、RIDマスターのドメインの役割を転送します。
fsmo maintenance : RID master

コマンドを実行すると[サーバ “dev-ad02.local”にRIDマスタのドメインの役割を転送しますか?]と表示されるため、[はい]を選択します。

転送が正常に実行されると、現在の各操作マスタの位置が表示されます。
今回は、RIDマスタを転送したので、RIDのCNが[DEV-AD02]となっていることを確認します。
以上でFMSOの全操作マスタの転送は完了です。
再度netdom コマンドを実行し、AD2号機に各操作マスタが転送されたことを確認します。
> netdom query fsmo
スキーマ マスター dev-ad02.ad.local
ドメイン名前付けマスター dev-ad02.ad.local
PDC dev-ad02.ad.local
RID プール マネージャー dev-ad02.ad.local
インフラストラクチャマスタ dev-ad02.ad.local

以上でFMSOの転送作業は完了です。
Active Directory降格
FSMOの転送が完了したら、降格させるADへログインします。

[サーバマネージャ]-[管理]-[役割と機能の削除]を選択します。

[開始する前に]より、[次へ]を押下します。

[サーバの選択]より、[サーバプールからサーバを選択]にチェックが入っていることを確認し、削除対象のサーバ選択し、[次へ]を押下します。

[サーバの役割]より、[Active Directoryドメインサービス]を選択します。

[Active Directoryドメインサービスを必要とする機能を削除しますか?]より、[管理ツールを削除する]にチェックが入っていることを確認し、[機能の削除]を選択します。

機能の削除を行おうとすると、検証が失敗するため、[このドメインコントローラを降格する]を押下します。

[資格情報]より、降格作業を実施するユーザを確認します。
ADの降格はドメインのAdministrators権限を持ったアカウントで実行します。必要に応じて変更してください。
また、[このドメインコントローラの削除を強制]にチェックが入っていないことを確認し、[次へ]を押下します。

[警告]より、警告内容を確認し、[削除の続行]にチェックを入れ、[次へ]を押下します。

[新しいAdministratorパスワード]より、ドメイン降格後のAdministratorのパスワードを再設定します。
2回入力したら、[次へ]を押下します。

[オプションの確認]より、実行する内容を確認し、[降格]を押下します。

ADの降格後には再起動が必要なため、[閉じる]を押下し、サーバを再起動します。
再起動後、認証可能なドメコンが見つけられずドメインユーザでログインできない場合は、ローカルAdministratorでログインし、DNSクライアントのIPアドレスを既存のADのDNSサーバに設定することで、ドメインユーザによるログインが可能になります。
以上でActive Directoryを降格させる手順は完了です。
ADの降格後、各ADサーバでrepadminコマンドを使用し正常にレプリケーションができていることを確認します。
また、降格直後等にL3スイッチのARPテーブルの保持状況により、降格したADのキャッシュを持っている場合があるため、端末側でログインができなくなる場合があります。
その場合は、事前にL3スイッチのARPテーブルのキャッシュ時間を短く設定し、末端の端末への影響を短くする等の対策を行うことである程度軽減することができると思います。(CatalystなどCisco L3はARPテーブルキャッシュがデフォルトで4時間と長めに設定されているため、要注意)
まとめ
今回は、Windows Server 2022でActive Directoryの降格までの手順を記載しました。
基本的にWindows Server 2016以降であればほぼ同じ手順で降格ができます。
また、降格を実行する際のポイントとして、ADの降格は行ったが、DNSサーバが降格したADを向いている場合があるため、サーバを完全に破棄する場合は、DNSサーバの向き先に注意が必要です。
経験上、サーバを完全停止した際にDNSが参照できずに障害に陥るシステムやサーバがあります。
そのため、ADの降格、サーバの完全停止を行う前に、各サーバやシステムでDNSの参照先を把握しておくと意図しない障害を回避できます。
おまけ
本ブログではVMwareやWindows、Linuxのインストール手順等も公開しております。
インフラエンジニアとして有益な記事や無益なコンテンツも作成しておりますので、通勤時間や休憩時間、休日のスキマ時間等に合わせて読んでいただけると幸いです。
コメント