Domain controller is not functioning correctly
- 12/07/2020
- 8 minutes to read
-
- D
- v
- s
This article provides common resolutions to the issue where domain controller is not functioning correctly.
Original product version: Windows Server 2012 R2
Original KB number: 837513
Symptoms
When you run the Dcdiag tool on a Microsoft Windows 2000-Server based domain controller or on a Windows Server 2003-based domain controller, you may receive the following error message:
DC Diagnosis
Performing initial setup:
LDAP bind failed with error 31
REPADMIN /SHOWREPS
ユーティリティをドメイン コントローラーのローカルで実行すると、次のエラー メッセージのいずれかを受け取ることがあります:
LDAP エラー 82 (Local Error).
Last attempt @ yyyy-mm-dd hh:mm.LDAP error 82 (Local Error).ss failed, result 1753: There is no more endpoints available from the endpoint mapper.
Last attempt @ yyyy-mm-dd hh:mm.ss failed, result 5: Access is denied.
レプリケーションを起動するために Active Directory Sites and Services を使用すると、アクセスが拒否されたことを示すメッセージが表示されることがあります。
影響を受けるドメイン コントローラーのコンソールから、Universal Naming Convention (UNC) リソースやマップされたネットワーク ドライブなどのネットワーク リソースを使用しようとすると、次のエラー メッセージが表示される場合があります。
No logon servers available (c000005e = “STATUS_NO_LOGON_SERVERS”)
Active Directory Sites and Services や Active Directory Users and Computers などの Active Directory 管理ツールを対象のドメインコントローラのコンソールから開始すると、以下のいずれかのエラー メッセージのいずれかを受け取れる可能性があります。
Naming information cannot be located because: 認証のために連絡できる機関がありません。
Naming information cannot be located by the reason: ターゲットアカウント名が正しくありません。
Microsoft Outlook クライアントが、認証に該当するドメイン コントローラを使用している Microsoft Exchange Server コンピュータに接続している場合、他のドメイン コントローラからのログオン認証が成功しても、ログオン資格情報の入力が求められることがあります。
Netdiag ツールでは、次のようなエラー メッセージが表示されることがあります。 : 失敗
<servername> に DsBind を呼び出すことができません。<fqdn><ip address>) の場合です。
Kerberosのテストです。 . . … … : 失敗
Kerberosはkrbtgt/<fqdn> のチケットを持っていない。
Kerberos does not have a ticket for <hostname>.
LDAP test. . . . . . . . . . . . . : Passed
Failed to query SPN registration on DC <hostname><fqdn>
The following event may be logged in the system event log of the affected domain controller:
Resolution
There are several resolutions for these symptoms. The following is a list of methods to try. The list is followed by steps to perform each method. Try each method until the problem is resolved.
- 方法 1: ドメイン ネーム システム (DNS) エラーを修正する
- 方法 2: コンピューター間で時間を同期する
- 方法 3: ネットワークからこのコンピューターへのアクセス ユーザー権限を確認する
- 方法 4: ドメイン コントローラーの userAccountControl 属性が 532480 であることを確認します。
- 方法5:Kerberosレルムを修正します(PolAcDmNレジストリキーとPolPrDmNレジストリキーが一致することを確認します)。
- 方法 6: マシン アカウントのパスワードをリセットし、新しい Kerberos チケットを取得します。
方法 1: DNS エラーを修正する
- コマンド プロンプトで、
netdiag -v
コマンドを実行します。 このコマンドは、コマンドを実行したフォルダーに Netdiag.log ファイルを作成します。 - Netdiag.log ファイル内の DNS エラーを解決してから作業を続行します。 Netdiag ツールは、Windows 2000 Server CD-ROM の Windows 2000 Server サポート ツールに含まれているか、ダウンロードできます。
- DNSが正しく設定されていることを確認します。 最も一般的なDNSの間違いの1つは、DNSを自分自身または動的更新とSRVレコードをサポートする別のDNSサーバーに向けるのではなく、ドメインコントローラーをDNSのためにインターネットサービスプロバイダ(ISP)に向けることです。 ドメインコントローラーを自分自身または動的な更新とSRVレコードをサポートする別のDNSサーバーに向けることをお勧めします。 インターネット上の名前解決のために、ISPへのフォワーダーを設定することをお勧めします。
Active DirectoryディレクトリサービスのDNSの設定の詳細については、以下の記事番号をクリックして、Microsoft Knowledge Baseの記事を参照してください。
254680 DNS名前空間計画
方法2:コンピューター間で時間を同期する
ドメインコントローラー間で正しく時間が同期しているかどうか確認する。 さらに、クライアント コンピューターとドメイン コントローラー間で時間が正しく同期されていることを確認します。
方法 3: 「ネットワークからこのコンピューターにアクセス」ユーザー権限を確認する
Gpttmpl.infファイルを変更して、適切なユーザーがドメイン コントローラーのネットワークからのこのコンピューターへのアクセスユーザー権限を持っているかどうかを確認します。 これを行うには、次の手順に従います。
-
既定のドメイン コントローラー ポリシーの Gpttmpl.inf ファイルを変更します。 デフォルトでは、デフォルトのドメイン コントローラー ポリシーは、ドメイン コントローラーのユーザー権が定義される場所です。
注意
Sysvolは別の場所にあるかもしれませんが、Gpttmpl.infファイルのパスは同じになります。
Windows Server 2003 ドメイン コントローラーの場合:
C:\WINDOWS\Sysvol\Sysvol\<Domainname>\Policies\{6AC1786C-016F-11D2-945F-00C04fB984F9}\MACHINE\Microsoft\Windows NT\SecEdit\GptTmpl.inf
For Windows 2000 Server domain controllers:
C:\WINNT\Sysvol\Sysvol\<Domainname>\Policies\{6AC1786C-016F-11D2-945F-00C04fB984F9}\MACHINE\Microsoft\Windows NT\SecEdit\GptTmpl.inf
-
SeNetworkLogonRightエントリの右側に、Administrators、Authenticated Users、およびEveryone用のセキュリティ識別子を追加します。 次の例を参照してください。
Windows Server 2003 ドメイン コントローラーの場合:
SeNetworkLogonRight = *S-1-5-32-554,*S-1-5-9,*S-1-5-32-544,*S-1-1-0
Windows 2000 Server ドメイン コントローラーの場合:
SeNetworkLogonRight = *S-1-5-11,*S-1-5-32-544,*S-1-1-0
注意
管理者 (S-1-5-32-544), 認証ユーザー (S-1-5-11), Everyone (S-1-0), Enterprise Controller (S-1-5-9) ではすべてのドメインで同じよく知られているセキュリティ識別子を使用しています。
-
次の例に一致するように SeDenyNetworkLogonRight エントリ (ネットワークからこのコンピューターへのアクセスを拒否する) の右側にあるすべてのエントリを削除します。
SeDenyNetworkLogonRight =
注意
この例は Windows 2000 Server と Windows Server 2003 で同じです。
デフォルトでは、Windows 2000 Server には SeDenyNetworkLogonRight エントリに何も存在しません。 Windows Server 2003 のデフォルトでは、SeDenyNetworkLogonRight エントリには Support_random string アカウントのみがあります。 (Support_random文字列アカウントは、ドメインごとに異なるセキュリティ識別子(SID)を使用するため、SIDを見ただけでは通常のユーザーアカウントと容易に区別することができない。 SIDを別のテキストファイルにコピーし、SeDenyNetworkLogonRightの項目からSIDを削除するとよい。
SeNetworkLogonRight と SeDenyNetworkLogonRight は、任意のポリシーで定義することができます。 前述の手順で問題が解決しない場合は、Sysvol の他のポリシーの Gpttmpl.inf ファイルを確認し、ユーザー権限がそこでも定義されていないことを確認します。 Gpttmpl.infファイルにSeNetworkLogonRightまたはSeDenyNetworkLogonRightへの参照が含まれていない場合、それらの設定はポリシーで定義されておらず、そのポリシーはこの問題を引き起こしていません。 これらのエントリが存在する場合、それらがデフォルトのドメイン コントローラー ポリシーについて前述した設定と一致することを確認します。
方法 4: ドメイン コントローラーの userAccountControl 属性が 532480 であることを確認する
- [Start] をクリックして [Run] をクリックし、adsiedit.msc と入力してください。
- Domain NC を展開し、DC=domain を展開し、OU=Domain Controllers を展開します。
- 影響を受けるドメインコントローラーを右クリックし、プロパティ
- Windows Server 2003 では、属性編集タブで必須属性を表示チェック ボックスと任意属性を表示チェック ボックスを選択してクリックして下さい。 Windows 2000 Server では、[表示するプロパティの選択] ボックスの [両方] をクリックします。
- Windows Server 2003 では、[属性] ボックスの [userAccountControl] をクリックします。 Windows 2000 Server では、[表示するプロパティの選択] ボックスで userAccountControl をクリックします。
- 値が 532480 でない場合は、[属性の編集] ボックスに 532480 と入力し、[設定]、[適用]、および[OK] をクリックします。
- ADSI Edit を終了します。
方法 5: Kerberos レルムを修正する (PolAcDmN レジストリ キーと PolPrDmN レジストリ キーが一致することを確認する)
注意
この方法は Windows 2000 Server に対してのみ有効です
重要
このセクション、方法またはタスクにはレジストリを修正する方法を示す手順が含まれています。 しかし、レジストリを間違って変更すると、深刻な問題が発生する可能性があります。 したがって、これらのステップに注意深く従うようにしてください。 さらに保護するために、レジストリを変更する前にレジストリをバックアップしてください。 そうすれば、問題が発生したときにレジストリを復元することができます。 レジストリをバックアップおよび復元する方法の詳細については、次の製品番号をクリックして、Microsoft Knowledge Base の記事を参照してください:
322756 Windows でレジストリをバックアップおよび復元する方法
- Registry Editor を開始します。
- On the Security menu, click Permissions to grant the Administrators local group Full Control of the SECURITY hive and its child containers and objects.
- Locate the
HKEY_LOCAL_MACHINE\SECURITY\Policy\PolPrDmN
key. - In the right pane of Registry Editor, click the <No Name>: REG_NONE entry one time.
- On the View menu, click Display Binary Data. In the Format section of the dialog box, click Byte.
- The domain name appears as a string in the right side of the Binary Data dialog box. The domain name is the same as the Kerberos realm.
- Locate the
HKEY_LOCAL_MACHINE\SECURITY\Policy\PolACDmN
registry key. - In the right pane of Registry Editor, double-click the <No Name>: REG_NONE entry.
- In the Binary Editor dialog box, paste the value from PolPrDmN. (PolPrDmN の値は NetBIOS ドメイン名になります)。
- ドメインコントローラーを再起動します。
方法 6: マシン アカウントのパスワードをリセットし、新しい Kerberos チケットを取得する
-
Kerberos Key Distribution Center サービスを停止し、スタートアップ値を Manual に設定します。
-
Windows 2000 Server サポート ツールまたは Windows Server 2003 サポート ツールの Netdom ツールを使用して、ドメイン コントローラーのマシン アカウント パスワードをリセットします:
netdom resetpwd /server: <another domain controller> /userd:domain\administrator /passwordd: <administrator password>
コマンドが正常に完了したとして返されることを確認します。 そうでない場合、コマンドは機能しませんでした。 ドメイン Contoso の場合、影響を受けるドメイン コントローラーが DC1 で、作業中のドメイン コントローラーが DC2 で、DC1 のコンソールから次の
netdom
コマンドを実行しますnetdom resetpwd /server:DC2 /userd:contoso\administrator /passwordd: <administrator password>
-
影響を受けているドメイン コントローラを再始動してください。
-
Start the Kerberos Key Distribution Center service, and then set the startup setting to Automatic.
For more information about this issue, click the following article numbers to view the articles in the Microsoft Knowledge Base:
323542 You cannot start the Active Directory Users and Computers tool because the server is not operational