Windows Server 2012のActive DirectoryにWindows Server 2022にADとして追加してみた。

この記事を書いていることはそろそろ、Windows Server 2012のお役目御免のタイミングかと思います。

それなのでWindowsServer2022を追加してWindowsServer2012をお休みさせる予定の手順をまとめてみました。

事前準備

・Windows Server 2012のActive Directoryサーバーを用意します。
以下はご自身の環境に合わせてご変更ください。

ホスト名 win2012ad1
IPアドレス 192.168.255.11
ドメイン名 sample.local

 

・Windows Server 2022を初期インストール状態、IPアドレス割り当て済み状態を用意します。

ホスト名 win2022ad2
IPアドレス 192.168.255.12

準備1

Win2022ad2で作業します。Windows Server 2022を「sample.local」ドメインに参加します。

・DNSをwin2012ad1のIPアドレスにします。

・コンピューターのプロパティを開きます。その後、「このPCの名前を変更(詳細設定)」をクリックします。

・変更ボタンを押します。

・所属するグループを選択して参加先のドメイン名を入力し、「OK」ボタンをクリック後、管理者アカウント情報を入力します。

 

※以下のエラーの場合:DNS周り、IPv6になっていないかを確認します。

・Active Directoryに参加できたら再起動して準備完了です。

WindowsServer2022のActive Directory追加手順

・サーバーマネージャーから「役割と機能の追加」をクリックします。

・指示に従って進めていき、「サーバーの役割の選択」で「Active Directoryドメインサービス」にチェックを入れます。
※ポップアップで表示されたものは追加します。

・そのまま画面に従って進めていき、「インストール オプションの確認」で「必要に応じて対象サーバーを自動的に再起動する」にチェックを入れ、「インストール」をクリックします。

・インストールが終わり「閉じる」をクリックした後、サーバーマネージャーから「このサーバーをドメインコントローラーに昇格する」をクリックします。

・「既存ドメインにドメインコントローラーを追加する」を選びます。

このときに「ユーザーアカウント名を指定してください。」と表示された場合は「変更」をクリックしてユーザーアカウントをドメインの管理者のアカウントを指定します。

・後は画面に従っていき、「インストール」をクリックしてインストール行います。
SYSVOLフォルダ等は場所を移動するものではないと過去の経験上そう思っています。

再起動が終わって、Active Directoryの同期等が行われます。同期しているので15分ぐらいは、待ちましょう!

win2012ad1とwin2022ad2の同期確認をする

やっぱりこのあたりは、きちんと行わないと後のトラブルになるのでしっかりと行う必要があります。PDCという言い方はないのですが、もう、古い人間なのとなんだかんだPDCという概念が残っているようなのでそうしています。

操作は、wind2022ad2で実施

・コマンドプロンプトを開いて、同期状態を確認します。

実行コマンド:repadmin /replsummary

失敗が0であることを確認。

テスト用のはきれいにエラーがありません。そりゃ、運用していないので。

ちなみにしばらくぶりにADサーバーをチェックするとこんな感じが一般的かもしれません?気づけよ!?気づかないことが多いですΣ(´∀`;)
以下のところで対処方法を記述してみました

Win2012AD1サーバーでFSMOの転送処理を行う

作業するサーバーが変わって、「win2012ad1」です。この部分が昔の時代のPDC的なイメージです。そんなことはおいておいて、役割を転送します。

転送する役割は以下の5つです。

・ PDC エミュレーター
・ RID マスター
・ インフラストラクチャーマスター
・ スキーママスター
・ ドメイン名前付け操作マスター

・PowerShellを管理者で開きます。

・以下のコマンドを実行して移行します。1行でできるので便利です。

Move-ADDirectoryServerOperationMasterRole –Identity <宛先ドメインコントローラー名> -OperationMasterRole PDCEmulator,RIDMaster,InfrastructureMaster,SchemaMaster,DomainNamingMaster


・操作マスタ(FSMO)を確認します。PowerShellで以下のコマンドを実行します。

netdom query fsmo

移行できたことが確認できればOKです。

ラスト!Win2012ad1のドメインコントローラーを降格します!

「win2012ad1で作業を行います。」

忘れないうちに、各ドメインコントローラーで降格の優先と代替DNSのIPアドレスを変更します。(win2012ad1の削除)

・サーバーマネージャーから「役割と機能の削除」をクリックします。

・指示に従って画面を進めていき「サーバーの役割」で「Active Directory ドメインサービス」のチェックを外します。

・関連サービスも削除します。

・検証結果がエラーで表示されますがその中にある「このドメインコントローラーを降格する」をクリックします。

・Active Directoryドメインサービス構成ウィザードが表示され、「次へ」をクリックします。

・「削除の続行」にチェックを入れて、「次へ」をクリックします。

・降格後のパスワードを入力して「次へ」をクリックします。

・「降格」ボタンをクリックします。

・再起動が強制的に実施されます。

・ログインを行います。DNSを変え忘れたときは、ドメインでなくローカルでログインしましょう!

・サーバーマネージャーを開き「役割と機能の削除」をクリックします。

・「Active Directory ドメインサービス」と「DNSサーバー」のチェックを外します。

・画面に従っていき、削除を行います。

・削除が終わったら、サーバー再起動を行います。(コマンドだと「shutdown /r /t 0」)

・これで作業は終わりです。

win2022ad2のIPアドレスを「win2012ad1」にしたい場合は、IPアドレスを変更して、サーバーを再起動してください。(win2012ad1はシャットダウンした状態もしくはIPアドレスを変更した後に行ってください)

「このサーバーとの最後のレクリケーション以来、廃棄(Tombstone)の有効期間を超えた時間がたっているため、ディレクトリサービスはこのサーバーでレプリケートできません。」を対処する

これは対処しないとNG案件です。時間経過しているので強制同期スタートです。

レジストリーに下記の強制同期キーを記述して、サーバーを再起動してみた。再起動後は削除

レジストリ キー: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\NTDS\Parameters\
値: Allow Replication With Divergent and Corrupt Partner
タイプ: REG_DWORD
値のデータ: 1

結果としては前進した!

「(8606) オブジェクトの作成に必要な属性が足りません。このオブジェクトは、削除されて既にガーベジ コレクションが行われ、存在しない可能性があります。」を対処する。

「tombstoneLifetime」の値を確認する。

サーバーマネージャーから「ADSIエディター」を開く

 

・「ADSIエディタ」>「右クリック」>「接続」をクリックする。

・「接続ポイント」を「識別名または名前付きコンテキストを選択するまたは入力する」を選択する。

接続値として以下のようにする

例:ドメイン名.localの場合
repadmin /showattr CN=Directory Service,CN=Windows NT,CN=Services,CN=Configuration,DC=ドメイン名,DC=local /atts:tombstonelifetime

・既定の名前付きコンテキストの下の「CN=」のプロパティを開く。(表示されなければ、「既定の名前付きコンテキスト」をダブルクリックすれば表示される

・「tombstonelifetime」の値を確認する。これだと180

残りオブジェクトを削除する

*上記で日数見たけど、結局オーバーしているのは削除しないとというお話なので削除します。

削除するにはGUIDが必要だそうで。GUIDも調べる
削除コマンド:repadmin /removelingeringobjects <Dest_DSA_LIST> <Source DSA GUID> <NC> /ADVISORY_MODE

PDCのサーバーのGUIDを以下のコマンドで調べる。

repadmin /showrepl /v サーバー名

・削除を実行する

repadmin /removelingeringobjects <削除するサーバー+ドメイン名> <調べたGUID> <DC=のドメイン名指定> /ADVISORY_MODE

・レジストリでレプリケーションを停止する

・レジストリキーの値を0にする

HKLM\System\CurrentControlSet\Services\NTDS\Parameters\Strict Replication Consistency

・Active Directoryサイトとサービスで今すぐレプリケーションを実行し、エラーがないことを確認する。

詳しくは以前のこちらの記事を参照

・上記の作業が終わったら、レジストリキーの値を1に戻す。(忘れずに)

・それで最初に戻って同期のエラーがないか確認する

repadmin /replsummary

・追加した以下のレジストリキーを削除する

レジストリ キー: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\NTDS\Parameters\
値: Allow Replication With Divergent and Corrupt Partner

すこしこの状態で様子を見ましょう!