手元にはWindows Server 2012 R2と2016のActive Directoryドメインコントローラーがあるのですが、2012 R2はそろそろEOLを見越して引退させないといけないかなということと、2016はWindows Updateの遅さに耐えかねて2019に統一しようという計画を立てました。アップグレードでもよかったのですが、Server Coreもいい加減辛いかなということと、2012 R2のアップグレードが何故かできなかったので諦めたというところです。
発端
2019を追加して、ドメインコントローラーにして、各種マスターを新DCに移行させます。これでいいかなと、2012 R2の離脱準備開始。まず2012 R2を降格させようとしたら、「最後の一台のドメインコントローラーです」という警告が出ます。え?
診断
まずはdcdiagコマンドで診断します。
- sysvolのレプリケーションができていない
- netlogon共有がない
あたりがまずいようです。このほかにも新しく追加した2019のDCではネットワークプロファイルがドメインではなく、プライベートになっているという状態でこれもなんとかしないといけない。一応ドメインには入っているし、DCとしても認識はされているのですが。
一応こういうドキュメントはあります。
sysvol共有をなんとかする
まずはsysvolを復活させます。
この対処をすることで2019にsysvolが復活しました。2016にはできません。基本ですがちゃんとイベントビューアは見ないといけないですね。Server. Coreということで見ないのは失敗でした。どうやら何度もサーバーが落ちた時にディスクの状態がおかしくなったようで、System Information VolumeフォルダーにあるDFSRフォルダーが壊れてしまったようです。
このフォルダーはadministratorにも読み書き権限がないので、icalcsコマンドで書き込みできるようにして、DFSRフォルダーをさっくり消します。
- DFRSClientサービスを止める
- icalcsでadministratorにc:\System Volume Information配下に書き込み権限をつける
- c:\System Volume Information\DFRSをさっくり消す
- DFRSClientサービスを再開する
これで勝手に作られ、sysvol共有も復活しました。
netlogon共有を復活する
こちらは簡単で、
- netlogonサービスを停止
c:\Windows\SYSVOL\domain\
にscripts
フォルダーを作る- netlogonサービスを開始
これでnetlogon共有が復活しました。
ドメインプロファイルに復帰させる
Hyper-VのVMとしてDCを作っているせいか、再起動後にネットワークプロファイルがプライベートになってしまうことがあります。こういう時はたいていNICを再起動します。
このコマンドレットを呼び出すスクリプト用意しています。NICの名前変更するの忘れると動かないですがw。
その他参考
主にここを参考にしました。