先日、久し振りにWindows Active Directoryのトラブルに巻き込まれたのでメモ。
ドメイン参加した状態のWindows Server 2012 R2でサーバ名の変更を実施していたら、新たにドメイン参加させたサーバがエラーになってしまう状態でした。
調べたら下記の状況と全く同じでした。
復元、ドメインへの参加、および移行すると、Windows Server 2012 R2 ベースのドメイン コント ローラーで重複した SPN のチェックの失敗
https://support.microsoft.com/ja-jp/help/3070083/duplicate-spn-check-on-windows-server-2012-r2-based-domain-controller
Duplicate SPN check on Windows Server 2012 R2-based domain controller causes restore, domain join and migration failures
https://support.microsoft.com/en-us/help/3070083/duplicate-spn-check-on-windows-server-2012-r2-based-domain-controller
ドメイン参加はできるのですが、その後に下記のエラーが発生します。
このコンピュータのプライマリドメインDNSの名を””に変更できませんでした。名前は”xxxxx.xxxx”のままになります。””が現在のドメインに対して有効がどうか確認して下さい。
エラー:オブジェクトに対するDNSホスト名の変更を処理刷る時に、サービスプリンシパル名の値の同期を保つことができませんでした。
サーバーのセキュリティデータベースにこのワークステーションの信頼関係に対するコンピュータアカウントがありません。
Netsetup.logにも同じエラーが記録されていました。
上記サイトに修正プログラムが登録されているのでダウンロードしてみました。
485275_intl_x64_zip.exeがダウンロードでき、実行するとWindows8.1-KB3070083-x64.msuが抽出されました。
ただこのHotfixをいきなり当てるのは危険で、再起動も必要そうなので他の方法を探してみました。そこでsetspn.exe -Xも試しましたが重複していない結果がでます。
最後にちょっと危険ですがドメインコントローラーでADSI エディター(adsiedit.msc)でSPNを確認したところ、今回の例ではサーバ名を変更したサーバがSPNのHOSTを新旧両方とも保持していました。
これを変更後のHOST名だけ残して、変更前のHOST名をすべて削除してから、改めてドメイン参加させると正常に参加でき、ドメインログオンもできました。
ドメイン参加した状態でコンピューター名を変更すると、それなりにリスクはありますね。でも色々事情があるんです(^^;