ドメイン コントローラが正常に動作しない

適用対象: Windows Servers

現象


Microsoft Windows 2000 Server ベースのドメイン コントローラまたは Windows Server 2003 ベースのドメイン コントローラで Dcdiag ツールを実行すると、次のエラー メッセージが表示されることがあります。
DC Diagnosis
Performing initial setup:
[DC1] LDAP bind failed with error 31
REPADMIN /SHOWREPS ユーティリティをドメイン コントローラのローカルで実行すると、次のエラー メッセージのいずれかが表示されることがあります。
[D:\nt\private\ds\src\util\repadmin\repinfo.c, 389] LDAP error 82 (Local Error).
Last attempt @ yyyy-mm-dd hh:mm.ss failed, result 1753: エンドポイント マッパーから使用できるエンドポイントはこれ以上ありません。
Last attempt @ yyyy-mm-dd hh:mm.ss failed, result 5: アクセスは拒否されます。



Active Directory サイトとサービスでレプリケーションが実行されると、アクセスが拒否されたことを示すメッセージが表示される場合があります。


影響を受けているドメイン コントローラのコンソールで、UNC (Universal Naming Convention) リソースや割り当てられたネットワーク ドライブなどのネットワーク リソースを使用すると、次のエラー メッセージが表示されることがあります。
No logon servers available (c000005e = "STATUS_NO_LOGON_SERVERS")
影響を受けているドメイン コントローラのコンソールから Active Directory サイトとサービスや Active Directory ユーザーとコンピュータなどの Active Directory 管理ツールを起動すると、次のエラー メッセージが表示されることがあります。
次の理由から、名前を変更することはできません。 認証するときにどの機関にもアクセスできませんでした。 システム管理者に連絡して、ドメインが正しく構成され、現在オンラインになっていることを確認してください。
次の理由から、名前を変更することはできません。 対象のアカウント名は間違っています。 システム管理者に連絡して、ドメインが正しく構成され、現在オンラインになっていることを確認してください。
影響を受けているドメイン コントローラを認証に使用する Microsoft Exchange Server コンピュータに接続した Microsoft Outlook クライアントでは、他のドメイン コントローラからの正常なログオン時の資格情報がある場合でも、ログオン時の資格情報の入力を求められることがあります。

Netdiag ツールによって、次のエラー メッセージが表示されることがあります。
DC list test . . . . . . . . . . . に設定されていない。 Failed
[WARNING] Cannot call DsBind to <servername>.<fqdn> (<ip address>). [ERROR_DOMAIN_CONTROLLER_NOT_FOUND]
Kerberos test. . . . . . . . . . . に設定されていない。 Failed
[FATAL] Kerberos does not have a ticket for krbtgt/<fqdn>.

[FATAL] Kerberos does not have a ticket for <hostname>.
LDAP test. . . . . . . . . . . . . に設定されていない。 成功
[WARNING] Failed to query SPN registration on DC <hostname>\<fqdn>
影響を受けているドメイン コントローラのシステム イベント ログに、次のイベントが出力されることがあります。

解決方法


上記の現象には、いくつかの解決方法があります。 実行する解決方法の一覧を次に示します。 一覧の後には、それぞれの方法を実行する手順が記載されています。 問題が解決されるまで、それぞれの方法を実行してください。 解決方法に続いて、上記の現象の一般的ではない修正方法を説明する「サポート技術情報」 (Microsoft Knowledge Base) の資料が記載されています。
  1. 方法 1: DNS (Domain Name System) のエラーを修正する
  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 サポート ツールに含まれているか、ダウンロードとして提供されています。 Windows 2000 Server サポート ツールをダウンロードするには、次のマイクロソフト Web サイトにアクセスしてください。
  3. DNS が正しく構成されていることを確認します。 DNS に関するよくある誤りの 1 つとして、DNS 自身、または動的更新と SRV レコードをサポートしている他の DNS サーバーを参照するように DNS で指定するのではなく、DNS としてインターネット サービス プロバイダ (ISP) を参照するようにドメイン コントローラで指定していることがあります。 ドメイン コントローラで、そのドメイン コントローラ自身、または動的更新や SRV レコードをサポートする他の DNS サーバーを参照するように指定することをお勧めします。 また、インターネット上での名前解決のために ISP へのフォワーダを設定することもお勧めします。
Active Directory ディレクトリ サービス用に DNS を構成する方法の関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
291382 Windows 2000 および Windows Server 2003 の DNS に関してよく寄せられる質問

237675 Active Directory 用に DNS をセットアップする

254680 DNS 名前空間の計画

255248 Active Directory に子ドメインを作成し、DNS 名前空間を子ドメインに委任する方法

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

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

Windows タイム サービスを構成する方法の詳細を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
258059 Windows NT 4.0 ドメイン内の Windows 2000 ベースのコンピュータの時刻を同期させる方法

216734 Windows 2000 で権限のあるタイム サーバーを構成する方法

方法 3: [ネットワーク経由でコンピュータへアクセス] ユーザー権利を確認する

Gpttmpl.inf ファイルを変更して、ドメイン コントローラ上で適切なユーザーに [ネットワーク経由でコンピュータへアクセス] ユーザー権利が与えられていることを確認します。 これを行うには、次の手順を実行します。
  1. 既定のドメイン コントローラのポリシーの 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

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


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

    注: Administrators (S-1-5-32-544)、Authenticated Users (S-1-5-11)、Everyone (S-1-1-0)、および Enterprise Controllers (S-1-5-9) は、すべてのドメインで同じ既知のセキュリティ識別子を使用します。
  3. 次の例のように、
    SeDenyNetworkLogonRight エントリ (ネットワーク経由でコンピュータへアクセスを拒否する) の右側にあるエントリを削除します。

    SeDenyNetworkLogonRight =

    注: 上記の例は、Windows 2000 Server と Windows Server 2003 で共通です。

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

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

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

  1. [スタート] ボタンをクリックし、[ファイル名を指定して実行] をクリックして、adsiedit.msc と入力します。
  2. [Domain NC] を展開し、
    [DC=domain] を展開し、
    [OU=Domain Controllers] を展開します。
  3. 影響を受けているドメイン コントローラを右クリックし、
    [プロパティ] をクリックします。
  4. Windows Server 2003 の場合は、[Attribute Editor] タブの [Show mandatory attributes] チェック ボックスおよび [Show optional attributes] チェック ボックスをオンにします。 Windows 2000 Server の場合は、[Select which properties to view] ボックスの [Both] をクリックします。
  5. Windows Server 2003 の場合は、
    [Attributes] ボックスの [userAccountControl] をクリックします。 Windows 2000 Server の場合は、[userAccountControl] をクリックします。
    これは、[Select a property to view] ボックスにあります。
  6. 表示された値が 532480 ではない場合は、
    [Edit Attribute] ボックスに 532480 と入力し、
    [Set] をクリックし、[適用] をクリックして、
    [OK] をクリックします。
  7. ADSI Edit を終了します。

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

注: この方法は、Windows 2000 Server でのみ有効です。
重要: このセクション、方法、またはタスクには、レジストリの変更方法が記載されています。 レジストリを誤って変更すると、深刻な問題が発生することがあります。 レジストリを変更する際には十分に注意してください。 万一に備えて、編集の前にレジストリをバックアップしてください。 問題が発生した場合でも、レジストリを復元できます。 レジストリのバックアップ方法および復元方法の詳細を参照するには、以下のサポート技術情報番号をクリックしてください。
322756 Windows でレジストリをバックアップおよび復元する方法
  1. レジストリ エディターを起動します。
  2. 左側のウィンドウで、
    [Security] を展開します。
  3. [セキュリティ] メニューの
    [アクセス許可] をクリックし、Administrators ローカル グループに SECURITY ハイブ、子コンテナ、およびオブジェクトへのフル コントロールを許可します。
  4. HKEY_LOCAL_MACHINE\SECURITY\Policy\PolPrDmN キーに移動します。
  5. レジストリ エディタの右側のウィンドウで、
    [<No Name>: REG_NONE] エントリを 1 回クリックします。
  6. [表示] メニューの [バイナリ データの表示] をクリックします。 ダイアログ ボックスの [形式] で、[バイト] をクリックします。
  7. ドメイン名は、[バイナリ データ] ダイアログ ボックスの右側の文字列として表示されます。 ドメイン名は Kerberos 領域と同じになります。
  8. HKEY_LOCAL_MACHINE\SECURITY\Policy\PolACDmN レジストリ キーに移動します。
  9. レジストリ エディタの右側のウィンドウで、
    [<No Name>: REG_NONE] エントリをダブルクリックします。
  10. [バイナリ エディタ] ダイアログ ボックスで、PolPrDmN の値を貼り付けます (PolPrDmN の値は NetBIOS ドメイン名となります)。
  11. ドメイン コントローラを再起動します。

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

  1. Kerberos Key Distribution Center サービスを停止し、スタートアップの種類を [手動] に設定します。
  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 Key Distribution Center サービスを開始した後、スタートアップの種類を [自動] に設定します。

この問題の関連情報を参照するには、以下のサポート技術情報番号をクリックしてください。
325322 Exchange システム マネージャを開くときにエラー メッセージ "サーバーは使用可能ではありません" が表示される

284929 Active Directory スナップインを起動できない (認証するときにどの機関にもアクセスできないというエラー メッセージが表示される)

257623 Windows NT 4.0 プライマリ ドメイン コントローラをインストールして Windows 2000 にアップグレードした後、新しいドメイン コントローラのコンピュータ名の DNS サフィックスがドメインの名前と一致しないことがある

257346 ユーザー権利 "ネットワーク経由でコンピュータへアクセス" の設定により各種ツールが動作しなくなる

316710 Kerberos キー配布を無効にすると Exchange サービスが開始されない

329642 Active Directory スナップインおよび Exchange システム マネージャを開いたときのエラー メッセージ

272686 Active Directory ユーザーとコンピュータ スナップインを開くとエラー メッセージが表示される

323542 サーバーが使用できないため Active Directory ユーザーとコンピュータ ツールを起動できない

329887 Active Directory MMC スナップインで対話的な操作ができない

325465 Windows Server 2003 管理ツールを使用する場合、Windows 2000 ドメイン コントローラは SP3 またはそれ以降の Service Pack が必要

322267 Microsoft ネットワーク用クライアントを削除すると、他のサービスが削除される

297234 クライアントとサーバー間で時間の差がある

247151 MMC スナップインを起動するときにダウンレベルのドメイン ユーザーにエラー メッセージが表示されることがある

280833 プロキシ クライアントですべての DNS ゾーンを指定しないと、追跡が困難な DNS エラーが発生する

322307 Windows 2000 Service Pack 2 (SP2) のインストール後に Exchange サービスまたは Active Directory スナップインを起動できない