ドメイン コントローラーが正しく機能していない

この記事では、ドメイン コントローラーが正しく機能しない問題の一般的な解決策について説明します。

適用対象: Windows Server 2012 R2
元の KB 番号: 837513

現象

Microsoft Windows 2000 Server ベースのドメイン コントローラーまたは Windows Server 2003 ベースのドメイン コントローラーで Dcdiag ツールを実行すると、次のエラー メッセージが表示される場合があります。

DC 診断
初期セットアップの実行:
[DC1] エラー 31 で LDAP バインドに失敗しました

ドメイン コントローラーでローカルにREPADMIN /SHOWREPSユーティリティを実行すると、次のエラー メッセージが表示される場合があります。

[D:\nt\private\ds\src\util\repadmin\repinfo.c, 389]LDAP エラー 82 (ローカル エラー)。

最後の試行 @ yyyy-mm-dd hh:mm.ss が失敗しました。結果 1753: エンドポイント マッパーから使用できるエンドポイントがこれ以上ありません。

最後の試行 @ yyyy-mm-dd hh:mm.ss が失敗しました。結果 5: アクセスが拒否されました。

Active Directory サイトとサービスを使用してレプリケーションをトリガーすると、アクセスが拒否されたことを示すメッセージが表示されることがあります。

汎用名前付け規則 (UNC) リソースやマップされたネットワーク ドライブなど、影響を受けるドメイン コントローラーのコンソールからネットワーク リソースを使用しようとすると、次のエラー メッセージが表示される場合があります。

使用可能なログオン サーバーがありません (c000005e = "STATUS_NO_LOGON_SERVERS")

Active Directory サイトとサービス、Active Directory ユーザーとコンピューターなど、影響を受けるドメイン コントローラーのコンソールから Active Directory 管理ツールを起動すると、次のいずれかのエラー メッセージが表示されることがあります。

名前付け情報を見つけられないのは、認証のために機関に連絡できなかったためです。 システム管理者に問い合わせて、ドメインが正しく構成されており、現在オンラインになっていることを確認します。

名前付け情報を見つけられないのは、対象のアカウント名が正しくないためです。 システム管理者に問い合わせて、ドメインが正しく構成されており、現在オンラインになっていることを確認します。

他のドメイン コントローラーからのログオン認証が成功した場合でも、影響を受けるドメイン コントローラーを認証に使用している Microsoft Exchange Server コンピューターに接続されている Microsoft Outlook クライアントは、ログオン資格情報を求められる場合があります。

Netdiag ツールには、次のエラー メッセージが表示される場合があります。

DC リスト テスト . . . . . . . . . . : 失敗しました
[警告]DsBind をサーバー名>に<呼び出すことはできません。<fqdn> (<IP アドレス>)。 [ERROR_DOMAIN_CONTROLLER_NOT_FOUND]
Kerberos テスト。 . . . . . . . . . . : 失敗しました
[FATAL]Kerberos には、krbtgt/<fqdn> のチケットがありません。

[FATAL]Kerberos には、ホスト名>の<チケットがありません。
LDAP テスト。 . . . . . . . . . . . . : 成功しました
[警告]DC <ホスト名><fqdn で SPN 登録のクエリを実行できませんでした>

次のイベントは、影響を受けるドメイン コントローラーのシステム イベント ログに記録される可能性があります。

Event Type: Error
Event Source: Service Control Manager
Event ID: 7023
Description: The Kerberos Key Distribution Center service terminated with the following error: The security account manager (SAM) or local security authority (LSA) server was in the wrong state to perform the security operation.

解決方法

これらの現象にはいくつかの解決策があります。 試行する方法の一覧を次に示します。 一覧の後に、それぞれの方法を実行する手順を確認できます。 問題が解決するまで、それぞれの方法を試してください。 これらの現象に対するあまり一般的でない修正プログラムについて説明されている Microsoft サポート技術情報の記事は、この後で一覧化されています。

  1. 方法 1: ドメイン ネーム システム (DNS) エラーを修正します。
  2. 方法 2: コンピューター間の時刻を同期します。
  3. 方法 3: ネットワーク ユーザー権限 からこのコンピューターにアクセスする方法を 確認します。
  4. 方法 4: ドメイン コントローラーの userAccountControl 属性が 532480 であることを確認します。
  5. 方法 5: Kerberos 領域を修正します (PolAcDmN レジストリ キーと PolPrDmN レジストリ キーが一致することを確認します)。
  6. 方法 6: コンピューター アカウントのパスワードをリセットし、新しい Kerberos チケットを取得します。

方法 1: DNS エラーを修正する

  1. コマンド プロンプトで、netdiag -v コマンドを実行します。 このコマンドは、コマンドが実行されたフォルダーに Netdiag.log ファイルを作成します。
  2. 続行する前に、Netdiag.log ファイルの DNS エラーを解決します。 Netdiag ツールは、Windows 2000 Server CD-ROM 上の Windows 2000 Server サポート ツールにあるか、またはダウンロードします。
  3. ネットワークが正しく構成されていることを確認します。 最も一般的な DNS の誤りの 1 つは、DNS 自体または動的更新と SRV レコードをサポートする別の DNS サーバーを指すのではなく、DNS のインターネット サービス プロバイダー (ISP) にドメイン コントローラーをポイントすることです。 ドメイン コントローラー自体、または動的更新と SRV レコードをサポートする別の DNS サーバーをポイントすることをお勧めします。 インターネット上で名前解決のために ISP にフォワーダーを設定することをお勧めします。

Active Directory ディレクトリ サービスのための DNS の構成について詳しくは、サポート技術情報を確認するための以下の記事番号をクリックしてください。
254680 DNS 名前空間の計画

方法 2: コンピューター間の時刻を同期する

ドメイン コントローラー間で時刻が正しく同期されていることを確認します。 さらに、クライアント コンピューターとドメイン コントローラーの間で時刻が正しく同期されていることを確認します。

方法 3: 「ネットワークからこのコンピューターにアクセスする」ユーザー権限を確認する

Gpttmpl.inf ファイルを変更して、適切なユーザーがドメイン コントローラー上の ネットワーク ユーザーからコンピューターにアクセス していることを確認します。 これを行うには、次の手順を実行します。

  1. 既定のドメイン コントローラー ポリシーの Gpttmpl.inf ファイルを変更します。 デフォルトでは、既定のドメイン コントローラのポリシーに、ドメイン コントローラのユーザー権利が定義されています。 デフォルトでは、既定のドメイン コントローラー ポリシーの Gpttmpl.inf ファイルは次のフォルダーにあります。

    注:

    Sysvol は別の場所にある場合がありますが、Gpttmpl.inf ファイルのパスは同じになります。

    Windows Server 2003 ドメイン コントローラーの場合:

    C:\WINDOWS\Sysvol\Sysvol\Sysvol\<Domainname>\Policies\{6AC1786C-016F-11D2-945F-00C04fB984F9}\MACHINE\Microsoft\Windows NT\SecEdit\GptTmpl.inf

    Windows 2000 サーバー ドメイン コントローラーの場合:

    C:\WINNT\Sysvol\Sysvol\<Domainname>\Policies\{6AC1786C-016F-11D2-945F-00C04fB984F9}\MACHINE\Microsoft\Windows NT\SecEdit\GptTmpl.inf

  2. SeNetworkLogonRight エントリの右側に、管理者、認証済みユーザー、およびすべてのユーザーのセキュリティ識別子を追加します。 次の例を参照してください。

    Windows Server 2003 ドメイン コントローラーの場合:

    SeNetworkLogonRight = *S-1-5-32-554,*S-1-5-9,*S-1-5-32-544,*S-1-1-0

    Windows 2000 サーバー ドメイン コントローラーの場合:

    SeNetworkLogonRight = *S-1-5-11,*S-1-5-32-544,*S-1-1-0

    注:

    管理者 (S-1-5-32-544)、認証済みユーザー (S-1-5-11)、すべてのユーザー (S-1-1-0)、およびエンタープライズ コントローラー (S-1-5-9) では、すべてのドメインで同じ既知のセキュリティ識別子が使用されます。

  3. SeDenyNetworkLogonRight エントリ (ネットワークからこのコンピューターへのアクセスを拒否) の右側にあるエントリを削除し、次の例に一致するようにします。

    SeDenyNetworkLogonRight =

    注:

    この例は、Windows 2000 Server と Windows Server 2003 の場合で同じです。

    Windows 2000 Server の場合、SeDenyNetworkLogonRight エントリにデフォルトで含まれているエントリはありません。 Windows Server 2003 の場合、SeDenyNetworkLogonRight エントリにデフォルトで含まれているのは Support_random 文字列アカウントのみです。 (Support_random 文字列アカウントはリモート アシスタンスで使用されます)。Support_random 文字列アカウントは、各ドメインで異なるセキュリティ識別子 (SID) を使用するため、SID のみからアカウントを一般的なユーザー アカウントと区別することは簡単にはできません。 別のテキスト ファイルに SID をコピーしてから、SeDenyNetworkLogonRight エントリから SID を削除できます。 この方法を使用することにより、問題のトラブルシューティングが終了したときに元に戻すことができます。

    SeNetworkLogonRight と SeDenyNetworkLogonRight は、任意のポリシーで定義できます。 上記の手順で問題が解決しない場合は、Sysvol の他のポリシーにある Gpttmpl.inf ファイルを調べ、そこでも定義されていないユーザー権利がないかどうかを確認します。 Gpttmpl.inf ファイルに SeNetworkLogonRight または SeDenyNetworkLogonRight への参照が含まれていない場合は、それらの設定はポリシーで定義されておらず、そのポリシーは問題の原因ではありません。 これらのエントリが存在する場合は、それ以前に既定のドメイン コントローラのポリシーに表示された設定と一致することを確認します。

方法 4: ドメイン コントローラーの userAccountControl 属性が 532480 であることを確認する

  1. [スタート]、[実行] をクリックして、「adsiedit.msc」と入力します。
  2. [ドメイン NC]、[DC=domain]、[OU=Domain Controllers] の順に展開します。
  3. 影響を受けたドメイン コントローラーを右クリックし、[プロパティ] をクリックします。
  4. Windows Server 2003 では、[属性エディター] タブの [必須属性の表示] チェック ボックスと [省略可能な属性の表示] チェック ボックスをクリックして選択します。Windows 2000 Server では、[表示するプロパティの選択] ボックスで [両方] をクリックします。
  5. Windows Server 2003 では、[属性] ボックスの [userAccountControl] をクリックします。 Windows 2000 Server では、[表示するプロパティの選択] ボックスで [userAccountControl] をクリックします。
  6. 値が 532480 でない場合は、[属性の編集] ボックスに「532480」と入力し、[設定]、[適用]、[OK] の順にクリックします。
  7. ADSI 編集を終了します。

方法 5: Kerberos レルムを修正する (PolAcDmN レジストリ キーと PolPrDmN レジストリ キーが一致することを確認する)

注:

この方法は、Windows 2000 Server でのみ有効です。

重要

このセクション、方法、またはタスクには、レジストリの編集方法が記載されています。 レジストリを誤って変更すると、深刻な問題が発生することがあります。 レジストリを変更する際には十分に注意してください。 保護を強化するため、レジストリを変更する前にレジストリをバックアップします。 こうしておけば、問題が発生した場合にレジストリを復元できます。 レジストリのバックアップ方法および復元方法の詳細を参照するには、以下のサポート技術情報番号をクリックしてください。
322756 Windows でレジストリをバックアップおよび復元する方法

  1. レジストリ エディターを起動します。
  2. 左側のウィンドウで [セキュリティ] を展開します。
  3. [セキュリティ] メニューの [アクセス許可] をクリックして、SECURITY ハイブおよびその子コンテナーとオブジェクトに対するフル コントロールを管理者ローカル グループに付与します。
  4. HKEY_LOCAL_MACHINE\SECURITY\Policy\PolPrDmN キーを探します。
  5. レジストリ エディターの右側のウィンドウで、[名前>なし: REG_NONE] エントリを 1 回クリックします<
  6. [表示] メニューで [バイナリ データの表示] をクリックします。 ダイアログ ボックスの [フォーマット] セクションで、[バイト] をクリックします。
  7. ドメイン名は、[バイナリ データ] ダイアログ ボックスの右側に文字列として表示されます。 ドメイン名は Kerberos 領域と同じです。
  8. HKEY_LOCAL_MACHINE\SECURITY\Policy\PolACDmN レジストリ キーを見つけます。
  9. レジストリ エディターの右側のウィンドウで、[名前>なし: REG_NONE] エントリを<ダブルクリックします。
  10. [バイナリ エディター] ダイアログ ボックスで、PolPrDmN の値を貼り付けます。 (PolPrDmN の値は NetBIOS ドメイン名になります)。
  11. ドメイン コントローラーを再起動します。

方法 6: コンピューター アカウントのパスワードをリセットし、新しい Kerberos チケットを取得する

  1. Kerberos キー配布センター サービスを停止し、スタートアップ値を [手動] に設定します。

  2. Windows 2000 Server サポート ツールまたは Windows Server 2003 サポート ツールから Netdom ツールを使用して、ドメイン コントローラーのコンピューター アカウントのパスワードをリセットします。

    netdom resetpwd /server: <another domain controller> /userd:domain\administrator /passwordd: <administrator password>  
    

    netdom コマンドが正常な完了として返されたことを確認します。 そうでない場合、コマンドは機能しませんでした。 影響を受けるドメイン コントローラーが DC1 で、動作しているドメイン コントローラーが DC2 であるドメイン Contoso の場合は、DC1 のコンソールから以下の netdom コマンドを実行します。

    netdom resetpwd /server:DC2 /userd:contoso\administrator /passwordd: <administrator password>
    
  3. 影響を受けたドメイン コントローラーを再起動します。

  4. Kerberos キー配布センター サービスを起動し、スタートアップ設定を [自動] に設定します。

この問題について詳しくは、サポート技術情報を確認するための以下の記事番号をクリックしてください。
323542 サーバーが動作していないため、Active Directory ユーザーとコンピューターのツールを起動できません