Windows でのドメイン コントローラの検索方法

文書翻訳 文書翻訳
文書番号: 247811 - 対象製品
この記事は、以前は次の ID で公開されていました: JP247811
すべて展開する | すべて折りたたむ

目次

概要

この資料では、Windows ベースのドメインでドメイン コントローラを検索するためのメカニズムについて説明します。この資料では、DNS スタイルの名前およびフラット スタイル名 (NetBIOS) を使用してドメインを検索する方法について詳しく説明しています。フラット スタイル名は旧バージョンとの互換性を維持するために使用されます。その他の場合は、ポリシーの問題上 DNS スタイル名を使用する必要があります。また、この資料では、ドメイン コントローラの検索処理で発生する問題の解決方法も提供します。

詳細

ここでは、ロケータがドメイン コントローラを検索する方法について説明しています。
  • クライアント (ドメイン コントローラを検索するコンピュータ) では、ロケータはローカルの Netlogon サービスへのリモート プロシージャ コール (RPC) として開始されます。ロケータの DsGetDcName API (Application Programming Interface) 呼び出しは、Netlogon サービスによって実装されます。
  • クライアントが、ドメイン コントローラの選択に必要な情報を収集し、DsGetDcName を呼び出してその情報を Netlogon サービスに渡します。
  • クライアント上の Netlogon サービスが、以下のいずれかの方法で、収集した情報を使用して、指定されたドメインのドメイン コントローラを検索します。
    • DNS 名の場合、Netlogon は IP/DNS 互換のロケータを使用して DNS 名を照会します。つまり、DNS が SRV (サービス リソース) レコードを指定する適切な文字列にドメイン名を追加した後、DsGetDcName が DnsQuery を呼び出して DNS から SRV レコードと "A" レコードを読み取ります。
    • Windows ベースのドメインに接続しているワークステーションは、次の一般的な形式で DNS に SRV レコードを照会します。
      _service._protocol.DnsDomainName
      Active Directory サーバーは TCP プロトコル経由で LDAP (Lightweight Directory Access Protocol) サービスを提供します。これにより、クライアントは DNS に次の形式のレコードを照会して LDAP サーバーを検索できます。
      _ldap._tcp.DnsDomainName
    • NetBIOS 名の場合、Netlogon は Microsoft Windows NT 4.0 互換のロケータを使用して、ドメイン コントローラの発見を実行します (つまり、WINS などのトランスポート固有のメカニズムを使用します)。

      Windows NT 4.0 以前では、"発見" はプライマリ ドメインまたは信頼するドメインのいずれかでドメイン コントローラを認証するための処理です。
  • Netlogon サービスが、名前を登録したコンピュータにデータグラムを送信します。NetBIOS ドメイン名の場合、データグラムはメールスロット メッセージとして実装されます。DNS 名の場合、データグラムは LDAP UDP (User Datagram Protocol) Search として実装されます (UDP は、TCP/IP プロトコル スイートの一部分であるコネクションレス データグラム トランスポート プロトコルです)。TCP は接続指向のトランスポート プロトコルです。
  • 利用できる各ドメイン コントローラがデータグラムに応答して、現在利用可能であることを示し、DsGetDcName にその情報を返します。

    UDP は、あるコンピュータ上のプログラムが別のコンピュータ上のプログラムにデータグラムを送信することを許可しています。UDP はプロトコル ポート番号を含んでおり、送信者はリモート コンピュータ上にある複数の送信先 (プログラム) を識別できます。
  • 利用できる各ドメイン コントローラがデータグラムに応答して、現在利用可能であることを示し、DsGetDcName にその情報を返します。
  • Netlogon サービスが、後続の要求が発見処理を繰り返す必要がないように、ドメイン コントローラの情報をキャッシュします。この情報をキャッシュすることで、同じドメイン コントローラが一貫して使用され、Active Directory が一貫して参照されるようになります。
クライアントは、ネットワークにログオンまたは参加するとき、ドメイン コントローラを見つける必要があります。クライアントは DNS 参照クエリを DNS に送信して、ドメイン コントローラを検索します。この場合、クライアントのサブネットのドメイン コントローラを見つけることが望ましいとされています。そのため、クライアントは DNS に次の形式のレコードを照会して、ドメイン コントローラを検索します。
_LDAP._TCP.dc._msdcs.domainname
クライアントは、ドメイン コントローラを見つけると、LDAP を使用して Active Directory へのアクセス許可を取得し、通信を確立します。このネゴシエーションの一環として、ドメイン コントローラはクライアントの IP サブネットに基づいてクライアントがどのサイトに存在しているかを確認します。クライアントが一番近い (最適な) サイト以外のサイトにあるドメイン コントローラを使用して通信している場合、ドメイン コントローラはクライアントが存在しているサイト名を返します。クライアントが既にそのサイト内にあるドメイン コントローラを検索している場合 (たとえば、クライアントが DNS に DNS 参照クエリを送信して、クライアントのサブネットでドメイン コントローラを検索した場合)、クライアントは最適でないドメイン コントローラを使用することになります。それ以外の場合は、クライアントは新しい最適なサイト名を使用してサイト固有の DNS 参照を再度実行します。ドメイン コントローラは、ディレクトリ サービス情報の一部を使用してサイトおよびサブネットを確認します。

クライアントがドメイン コントローラを見つけると、ドメイン コントローラのエントリがキャッシュされます。ドメイン コントローラが最適なサイト内に存在していない場合、クライアントは 15 分後にキャッシュをフラッシュして、キャッシュ エントリを破棄します。その後クライアントは、クライアントが存在しているサイトと同じサイト内で最適なドメイン コントローラを検索します。

クライアントは、ドメイン コントローラへの通信パスを確立すると、ログオンおよび認証資格情報を確立できます。Windows ベースのコンピュータで、セキュリティで保護されたチャネルが必要な場合、セキュリティで保護されたチャネルを設定します。その後、クライアントは通常のクエリを実行して、ディレクトリに対して情報の検索を実行できます。

クライアントはドメイン コントローラへの LDAP 接続を確立して、ログオンします。ログオン プロセスは、セキュリティ アカウント マネージャを使用します。通信パスに LDAP インターフェイスが使用され、クライアントはドメイン コントローラによって認証されるため、クライアント アカウントはセキュリティ アカウント マネージャを経由して検証され、ディレクトリ サービス エージェントに渡されます。その後、クライアント アカウントはデータベース層に渡され、最終的に ESE (Extensible Storage Engine) に渡されます。

ドメインの検索処理のトラブルシューティング

ドメインの検索処理のトラブルシューティングを行うには、以下の手順を実行します。
  1. クライアントとサーバーの両方でイベント ビューアを確認します。イベント ログには、問題が発生していることを示すエラー メッセージが含まれていることがあります。イベント ビューアを表示するには、[スタート] ボタンをクリックし、[プログラム]、[管理ツール] を順にポイントし、[イベント ビューア] をクリックします。クライアントとサーバーの両方で、システム ログを確認します。また、サーバーでディレクトリ サービスのログを確認し、DNS サーバーで DNS ログを確認します。
  2. コマンド プロンプトで ipconfig /all コマンドを使用して、IP の構成を確認します。
  3. Ping ユーティリティを使用してネットワーク接続と名前解決を確認します。IP アドレスとサーバー名の両方に対して ping を実行します。ドメイン名に対して ping を実行する必要のある場合もあります。
  4. Netdiag ツールを使用して、ネットワーク コンポーネントが正常に機能しているかどうかを調べます。テキスト ファイルに詳細な情報を出力するには、次のコマンドを使用します。
    netdiag /v >test.txt
    ログ ファイルを調べて、問題点を検索し、関連のあるコンポーネントを調査します。このファイルには他のネットワーク構成の詳細も含まれています。
  5. 小さな問題を修正するには、構文 netdiag /fix を使用して、Netdiag ツールを使用します。
  6. nltest /dsgetdc:domainname コマンドを使用して、ある特定のドメインでドメイン コントローラを検索できるかどうかを確認します。
  7. NSLookup ツールを使用して、DNS エントリが DNS に正しく登録されていることを確認します。サーバーのホスト レコードおよび GUID SRV レコードを解決できることを確認します。

    たとえば、以下のコマンドを使用してレコードの登録を確認します。
    nslookup servername.childofrootdomain.rootdomain.com

    nslookup guid._msdcs.rootdomain.com
  8. これらのコマンドがいずれも完了しない場合は、以下のいずれかの方法を使用してレコードを DNS に登録します。
    • ホスト レコードを強制的に登録するには、ipconfig /registerdns と入力します。
    • ドメイン コントローラ サービスを強制的に登録するには、Netlogon サービスを停止して、再開します。
  9. ドメイン コントローラの問題点を検出するには、コマンド プロンプトから DCdiag ユーティリティを実行します。このユーティリティは、ドメイン コントローラが正しく実行しているかどうかを確認するために多数のテストを実行します。次のコマンドを使用して、このテストの結果をテキスト ファイルに出力します。
    dcdiag /v >dcdiag.txt
  10. Ldp.exe ツールを使用して、ドメイン コントローラに接続およびバインドして、適切な LDAP 接続を確認します。
  11. 特定のドメインで問題が発生している疑いがあると判断した場合、Netlogon のデバッグ用のログを有効にすると役立つことがあります。nltest /dbflag:0x2000ffff コマンドを実行して、NLTest ユーティリティを使用します。このコマンドを実行すると、Debug フォルダの Netlogon.log ファイルに情報が記録されます。
  12. それでも問題点を特定できない場合は、ネットワーク モニタを使用して、クライアントとドメイン コントローラ間のネットワーク トラフィックを監視します。
ネットワーク モニタのインストール方法の詳細については、次の「サポート技術情報」 (Microsoft Knowledge Base) の資料を参照してください。
243270 Windows 2000 にネットワーク モニタをインストールする方法

関連情報

詳細については、『Windows 2000 Server リソース キット 3 分散システム ガイド上』の「第 10 章 Active Directory の診断、トラブルシューティング、回復」を参照してください。

関連情報

この資料は米国 Microsoft Corporation から提供されている Knowledge Base の Article ID 247811 (最終更新日 2003-11-20) を基に作成したものです。

プロパティ

文書番号: 247811 - 最終更新日: 2004年11月17日 - リビジョン: 3.0
この資料は以下の製品について記述したものです。
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Professional Edition
キーワード:?
kbinfo kbdns kbenv kbnetwork KB247811
"Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。"

フィードバック

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com