kkamegawa's weblog

Visual Studio,TFS,ALM,VSTS,DevOps関係のことについていろいろと書いていきます。Google Analyticsで解析を行っています

Active Directoryドメインコントローラーにsysvolとnetlogon共有がない時の対処

手元にはWindows Server 2012 R2と2016のActive Directoryドメインコントローラーがあるのですが、2012 R2はそろそろEOLを見越して引退させないといけないかなということと、2016はWindows Updateの遅さに耐えかねて2019に統一しようという計画を立てました。アップグレードでもよかったのですが、Server Coreもいい加減辛いかなということと、2012 R2のアップグレードが何故かできなかったので諦めたというところです。

発端

2019を追加して、ドメインコントローラーにして、各種マスターを新DCに移行させます。これでいいかなと、2012 R2の離脱準備開始。まず2012 R2を降格させようとしたら、「最後の一台のドメインコントローラーです」という警告が出ます。え?

診断

docs.microsoft.com

まずはdcdiagコマンドで診断します。

  • sysvolのレプリケーションができていない
  • netlogon共有がない

あたりがまずいようです。このほかにも新しく追加した2019のDCではネットワークプロファイルがドメインではなく、プライベートになっているという状態でこれもなんとかしないといけない。一応ドメインには入っているし、DCとしても認識はされているのですが。

docs.microsoft.com

一応こういうドキュメントはあります。

sysvol共有をなんとかする

docs.microsoft.com

まずはsysvolを復活させます。

docs.microsoft.com

この対処をすることで2019にsysvolが復活しました。2016にはできません。基本ですがちゃんとイベントビューアは見ないといけないですね。Server. Coreということで見ないのは失敗でした。どうやら何度もサーバーが落ちた時にディスクの状態がおかしくなったようで、System Information VolumeフォルダーにあるDFSRフォルダーが壊れてしまったようです。

このフォルダーはadministratorにも読み書き権限がないので、icalcsコマンドで書き込みできるようにして、DFSRフォルダーをさっくり消します。

  1. DFRSClientサービスを止める
  2. icalcsでadministratorにc:\System Volume Information配下に書き込み権限をつける
  3. c:\System Volume Information\DFRSをさっくり消す
  4. DFRSClientサービスを再開する

これで勝手に作られ、sysvol共有も復活しました。

netlogon共有を復活する

こちらは簡単で、

  1. netlogonサービスを停止
  2. c:\Windows\SYSVOL\domain\scriptsフォルダーを作る
  3. netlogonサービスを開始

これでnetlogon共有が復活しました。

ドメインプロファイルに復帰させる

Hyper-VのVMとしてDCを作っているせいか、再起動後にネットワークプロファイルがプライベートになってしまうことがあります。こういう時はたいていNICを再起動します。

docs.microsoft.com

このコマンドレットを呼び出すスクリプト用意しています。NICの名前変更するの忘れると動かないですがw。

その他参考

https://www.checkyourlogs.net/how-to-fix-missing-sysvol-and-netlogon-share-and-replication-issues-on-new-domain-controller-at-azure/

主にここを参考にしました。