この記事は、コンピューター名に大文字が含まれる場合に、Windows DNS がドメイン コントローラーの重複するサーバーの場所 (SRV) レコードを登録する問題を解決するのに役立ちます。
適用対象: Windows Server 2019、Windows Server 2016
元の KB 番号: 4496901
現象
AD DS 統合 DNS ゾーンを使用する展開には、1 つ以上の Windows Server 2019 ベースまたは Windows Server 2016 ベースのドメイン コントローラー (DC) があります。 少なくとも 1 つの DC に、大文字を含むコンピューター名があります。
このような状況では、ドメインの DNS レコードには、コンピューター名に大文字を持つ DC の重複するサーバーの場所 (SRV) レコードが含まれていることがわかります。 1 つのレコードにはすべての小文字の RDATA にコンピューター名が含まれており、1 つのレコードにはコンピューター名と同じ文字ケースのコンピューター名が RDATA に含まれます。
原因
この動作は、Windows Server DNS 機能が SRV レコードの RDATA セグメントを管理する方法が変更されたために発生します。 Windows Server 2012 R2 以前のバージョンでは、RDATA セグメントには小文字のみが含まれています。 コンピューター名に大文字が含まれている場合、DNS 機能によって小文字に変換されます。 ただし、Windows Server 2016 (またはそれ以降のバージョン) の DNS 機能では、大文字と小文字を使用できます。
DNS サーバーは、コンピューター名に SRV レコードが既に関連付けられているかどうかを確認するときに、大文字と小文字の変更は考慮しません。 したがって、 winserv16.contoso.com
と WinServ16.contoso.com
は異なるアドレスであると見なされます。
このため、次の構成を使用すると、予期しない影響が発生する可能性があります。
ドメイン内のすべての DNS サーバーと DC は、Windows Server 2012 R2 (またはそれ以前のバージョン) から Windows Server 2016 (またはそれ以降のバージョン) にアップグレードされています。 DNS データベースは、コンピューター名に大文字を含む DC に対して追加の SRV レコードを生成できます。
ドメイン内のすべての DNS サーバーと DC は、Windows Server 2012 以前を実行します。 WINDOWS Server 2016 メンバー サーバーに DNS サーバーの役割をインストールした後、そのメンバー サーバーを同じドメイン内の DC に昇格させます。 Windows Server 2016 DC のコンピューター名に大文字が含まれている場合は、DNS に追加の SRV レコードが含まれます。
さまざまなバージョンの Windows Server を実行する DC と DNS サーバーを含むドメインがあります。 プライマリ DNS サーバーは Windows Server 2012 以前を実行する DC であり、セカンダリ DNS サーバーは Windows Server 2016 DC です。 プライマリ DNS サーバーが使用できなくなり、Windows Server 2016 DC を新しいプライマリ DNS サーバーに変更します。 この変更後、DNS データベースは、コンピューター名に大文字を含む DC に対して追加の SRV レコードを生成する可能性があります。
解決方法
Microsoft は、この問題を軽減する更新プログラムをリリースしました。 次の表に、影響を受けるバージョンの Windows の更新プログラムの関連するバージョンを示します。
バージョン | リリース |
---|---|
Windows Server 2019 バージョン 1903 | 2020 年 3 月 24 日-KB4541335 (OS ビルド 18362.752 および 18363.752) |
Windows Server 2019 バージョン 1809 | 2020 年 3 月 17 日-KB4541331 (OS ビルド 17763.1131) |
Windows Server 2016 | 2020 年 3 月 17 日-KB4541329 (OS ビルド 14393.3595) |
この更新プログラムでは、NETLOGON に新しいグループ ポリシー ポリシー設定が導入されています。ADMX ファイル。次の表で説明します。
ポリシー名 | ドメイン コントローラー SRV レコードを登録するときに小文字の DNS ホスト名を使用する |
---|---|
ポリシー パス | Computer Configuration\Policies\Administrative Templates\System\Net Logon\DC Locator DNS Records\ |
ポリシー値 |
|
更新プログラムは、このポリシーに関連付けられている次のレジストリ エントリを追加します。 (この情報は参照用にのみ提供されます)。
- レジストリ サブキー:
HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Netlogon\Parameters
- レジストリ エントリ: DnsSrvRecordUseLowerCaseHostNames
- 値の種類: REG_DWORD
更新プログラムをインストールした後
Note
更新プログラムをインストールするとき、レコードを手動でクリーンアップするとき、またはポリシーを無効にするときに、Netlogon サービスを再起動または無効にする必要はありません。 更新プログラムをインストールした後、コンピューターを再起動する必要はありません。
更新プログラムをインストールする (またはポリシーが無効になっている環境でポリシーを有効にする) と、Netlogon サービスは大文字の既存の DNS レコードを削除しようとします。
この修正プログラムをインストール (またはポリシーを有効に) してから、Netlogon が新しい設定を取得して適用する時間を確保するために、1 日または 2 日待つようお勧めします。 その後、変更が環境全体にレプリケートされるまで十分な時間待ちます。 その後、DNS レコードに残っている重複がないか調べます。 ポリシーが重複するレコードを見逃す可能性があります。 その場合は、これらのレコードを手動で削除する必要があります。
次の Windows PowerShell コマンドを使用して、レコードを確認できます。
Get-DnsServerResourceRecord -ZoneName "contoso.com" -RRType Srv
Note
このコマンドでは、 contoso.com
はプレースホルダー ドメイン名です。
残りの重複レコードを削除するには、次の PowerShell コマンドを実行します。
Remove-DnsServerResourceRecord -ZoneName "contoso.com" -RRType Srv -Name "<hostname of record to delete>" -RecordData "<recorddata of record to delete>"
ポリシーを無効にしても、クリーンアップは必要ありません。
重要
Microsoft は、この問題を解決し、繰り返し発生しないようにするための更新プログラムをリリースしました。 問題を回避するのではなく、更新プログラムをインストールすることをお勧めします。
回避策 1: SRV レコードの重複を防ぐ
Windows DNS で重複する SRV レコードが作成されないようにするには、次の方法を使用します。
メンバー サーバーを DC に昇格させる前、または DC を Windows Server 2016 以降のバージョンにアップグレードする前に、そのコンピューター名に小文字のみが含まれていることを確認してください。
コンピューター名を作成、変更、または使用するすべての内部ビルド プロセス、ツール、スクリプトでも小文字が使用されていることを確認します。
DC の名前を変更できない場合 (またはそれに時間がかかる場合)、Windows Server 2016 以降を実行する DC が Windows Server 2016 以降を実行する DNS サーバーを使用するように DNS トポロジを構成します。 同様に、Windows Server 2012 R2 以前を実行する DC を、Windows Server 2012 R2 以前を実行する DNS サーバーを使用するように構成します。
回避策 2: 重複する SRV レコードを削除する
この問題が発生した後で回避するには、すべての小文字を使用して DC の名前を変更する必要があります。 デプロイの詳細によっては、手動で設定を再構成したり、ファイルを削除したりする必要がある場合があります。 このセクションでは、複雑さの順に次の回避策を示します。
- 方法 1: 単一 DC ドメインの DC の名前を変更する
- 方法 2: マルチ DC ドメイン内の DC の名前を変更する
- 方法 3: DC の名前を変更し、格納されているすべての SRV レコードを削除する
重要
これらの方法のいずれかを使用する前に、次の記事を確認してください。 これらの記事では、DC の名前を変更するための詳細な手順について説明します。 また、DC を降格または名前変更した後に実行する必要があるその他のクリーンアップ タスクに関する情報も提供します。
Note
DC の名前を変更した後で問題が発生した場合は、DC 名を元の内容に戻します。
方法 1: 単一 DC ドメインの DC の名前を変更する
DC が 1 つある場合は、「 ドメイン コントローラーを調整する の手順を使用して、DC のコンピューター名を小文字のみを含む新しい名前に変更します。 1 つの DC の場合、降格して再現する必要はありません。
重要
任意のドメインに少なくとも 2 つの DC が含まれていることを強くお勧めします。 DC が 1 つしかない場合、その DC で問題が発生するたびに、ドメインが使用できなくなる可能性があります。
方法 2: マルチ DC ドメイン内の DC の名前を変更する
ドメインに複数の DC がある場合は、影響を受ける DC ごとに次の手順に従います。
DC を降格し、関連するメタデータをクリーンアップします。 詳細については、「 ドメイン コントローラーとドメインのデモ および AD フォレストの回復 - 削除された書き込み可能なドメイン コントローラーのメタデータのクリーニングを参照してください。
コンピューターの名前を変更し、小文字のみを含む名前を付けます。
コンピューターをもう一度 DC に昇格させます。
すべての DC がオンラインに戻る頃には、重複する (大文字と小文字が混在する) SRV レコードは失われます。
方法 3: DC の名前を変更し、格納されているすべての SRV レコードを削除する
方法 1 と方法 2 で十分な結果が得られない場合は、影響を受ける DC ごとに次の手順に従います。
DC を降格し、関連するメタデータをクリーンアップします。 詳細については、「 ドメイン コントローラーとドメインのデモ および AD フォレストの回復 - 削除された書き込み可能なドメイン コントローラーのメタデータのクリーニングを参照してください。
降格したコンピューターで、次の手順に従います。
- コンピューターの名前を変更し、小文字のみを含む名前を付けます。
- netlogon サービスを停止します。 これを行うには、管理者特権のコマンド プロンプト ウィンドウを開き、
net stop netlogon
実行します。 - C:\Windows\System32\config\ フォルダー内の次のファイルを削除します。
- netlogon.dnb
- netlogon.dns
他の DC の 1 つで、サーバー マネージャーを開き、Tools を選択し、DNS を選択します。
DNS マネージャーで、 Forward Lookup Zones 下のコンテナーを調べ、降格した DC の SRV レコードを削除します。
名前が変更されたコンピューターで、netlogon サービスを開始します。 これを行うには、管理者特権のコマンド プロンプト ウィンドウを開き、
net start netlogon
実行します。名前が変更されたコンピューターをもう一度 DC に昇格させます。