Active Directory レプリケーション エラー 1753: エンドポイント マッパーから使用可能なエンドポイントがこれ以上ありません

この記事では、Active Directory レプリケーションが Win32 エラー 1753 で失敗する問題について説明します。"エンドポイント マッパーから使用できるエンドポイントがこれ以上ありません" です。

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

ホーム ユーザー: この記事は、テクニカル サポート エージェントと IT プロフェッショナルのみを対象としています。 問題のヘルプを探している場合は、 Microsoft コミュニティに問い合わせてください

現象

この記事では、Win32 エラー 1753 で失敗する AD 操作の現象、原因、解決の手順について説明します。"エンドポイント マッパーからエンドポイントを使用できるエンドポイントはこれ以上ありません"。

  1. DCDIAG は、接続テスト、Active Directory レプリケーション テスト、または KnowsOfRoleHolders テストがエラー 1753 で失敗したことを報告します。"エンドポイント マッパーから使用可能なエンドポイントはこれ以上ありません"。

    テスト サーバー: <サイト><DC 名>
    テストの開始: 接続
    *Active Directory LDAP サービスのチェック * Active Directory RPC サービスのチェック
    [<DC 名>] DsBindWithSpnEx() がエラー 1753 で失敗しました。
    エンドポイント マッパーから使用可能なエンドポイントはこれ以上ありません。.
    RPC 拡張エラー情報の印刷:
    エラー レコード 1、ProcessID は <プロセス ID> (DcDiag)
    システム時刻: <日付><時刻>
    コンポーネントの生成は 2 (RPC ランタイム) 状態は 1753 です。エンドポイント マッパーから使用可能なエンドポイントはこれ以上ありません。 検出場所は 500 NumberOfParameters は 4 です
    Unicode 文字列: ncacn_ip_tcp
    Unicode 文字列: <ソース DC オブジェクト GUID>._msdcs.contoso.com
    長い val: -481213899
    長い val: 65537
    エラー レコード 2、ProcessID は 700 (DcDiag)
    システム時刻: <日付><時刻>
    コンポーネントの生成は 2 (RPC ランタイム) です
    状態は 1753 です。エンドポイント マッパーから使用可能なエンドポイントはこれ以上ありません。
    NumberOfParameters は 1 です
    Unicode 文字列: 1025

    [レプリケーションチェック,<[DC 名>] 最近のレプリケーション試行が失敗しました。
    ソース DC から<宛先 DC> へ<>
    名前付けコンテキスト: <ディレクトリ パーティションの DN パス>
    レプリケーションでエラーが生成されました (1753)。
    エンドポイント マッパーから使用可能なエンドポイントはこれ以上ありません。
    エラーは日付><時刻>に<発生しました。
    最後の成功は、日付><時刻>に<発生しました。
    最後の成功以降、3 つの失敗が発生しました。
    DC 名>の<ディレクトリが処理中です。
    起動またはシャットダウンが行われ、使用できません。
    起動時にマシンがハングしないことを確認します。

  2. REPADMIN.EXE は、レプリケーション試行が状態 1753 で失敗したことを報告します。

    一般的に 1753 状態を引用する REPADMIN コマンドには、次のものが含まれますが、これらに限定されません。

    • REPADMIN /REPLSUM
    • REPADMIN /SHOWREPL
    • REPADMIN /SHOWREPS
    • REPADMIN /SYNCALL

    次の出力 REPADMIN /SHOWREPS 例は、CONTOSO-DC2 から CONTOSO-DC1 への受信レプリケーションが "レプリケーション アクセスが拒否されました" エラーで失敗することを示しています。

    Default-First-Site-Name\CONTOSO-DC1
    DSA オプション: IS_GC
    サイト オプション: (なし)
    DSA オブジェクト GUID:
    DSA の呼び出し ID:

    DC=contoso,DC=com
    RPC 経由の Default-First-Site-Name\CONTOSO-DC2
    DSA オブジェクト GUID:
    最後の試行 @ <日付><時刻> が失敗しました。結果は 1753 (0x6d9):
    エンドポイント マッパーから使用可能なエンドポイントはこれ以上ありません。
    <#> 連続するエラー。
    最後の成功 @ <日付><時刻>。

  3. Active Directory サイトとサービスの "レプリケーション トポロジの確認" コマンドは、"エンドポイント マッパーから使用できるエンドポイントがもうありません" を返します。

    ソース DC から接続オブジェクトを右クリックし、[レプリケーション トポロジの確認] を選択すると、"エンドポイント マッパーから使用可能なエンドポイントがそれ以上ありません" で失敗します。 画面に表示されるエラー メッセージを次に示します。

    ダイアログ タイトル テキスト: レプリケーション トポロジを確認する
    ダイアログ メッセージ テキスト:

    ドメイン コントローラーへの接続の試行中に次のエラーが発生しました。エンドポイント マッパーから使用可能なエンドポイントはこれ以上ありません。

    OK

  4. Active Directory サイトとサービスの "今すぐレプリケート" コマンドは、"エンドポイント マッパーから使用可能なエンドポイントがこれ以上ありません" を返します。

    ソース DC から接続オブジェクトを右クリックし、[今すぐレプリケート] を選択すると、"エンドポイント マッパーから使用可能なエンドポイントがこれ以上ありません" と失敗します。 画面に表示されるエラー メッセージを次に示します。

    ダイアログ タイトル テキスト: [今すぐレプリケート]

    ダイアログ メッセージ テキスト: ドメイン コントローラー ソース DC からドメイン コントローラー宛先 DC に名前付けコンテキスト <ディレクトリ パーティション名>を<同期しようとしたときに、次のエラーが発生しました:エンドポイント マッパーから使用できるエンドポイントはこれ以上ありません>><

    操作は続行されません

    ダイアログのボタン: OK

  5. NTDS Knowledge Consistency Checker (KCC)、NTDS General、または 1753 状態の Microsoft-Windows-ActiveDirectory_DomainService イベントは、ディレクトリ サービス イベント ログに記録されます。

    一般的に 1753 の状態を引用する Active Directory イベントには、次のものが含まれますが、これらに限定されません。

    ソース イベント ID イベント文字列
    NTDS 全般 1655 Active Directory が次のグローバル カタログと通信しようとしましたが、試行は失敗しました。

    NTDS KCC 1925 次の書き込み可能なディレクトリ パーティションのレプリケーション リンクを確立できませんでした。

    NTDS KCC 1265 ナレッジ整合性チェッカー (KCC) による、次のディレクトリ パーティションとソース ドメイン コントローラーのレプリケーション アグリーメントの追加が失敗しました。

原因

次の図は、リモート プロシージャ コール (RPC) ワークフローを示しています。 ワークフローは、手順 1 で RPC エンドポイント マッパー (EPM) を使用してサーバー アプリケーションを登録することから始まります。 最後に、手順 7 で RPC クライアントからクライアント アプリケーションにデータを渡します。

手順 1 から手順 7 までの詳細を示す RPC ワークフロー図のスクリーンショット。

手順 1 から 7 は、次の操作にマップされます。

  1. サーバー アプリは、そのエンドポイントを RPC エンドポイント マッパー (EPM) に登録します。
  2. クライアントは、ユーザー、OS、またはアプリケーションによって開始された操作に代わって RPC 呼び出しを行います。
  3. クライアント側 RPC は、ターゲット コンピューター EPM に接続し、クライアント呼び出しを完了するためにエンドポイントを要求します。
  4. サーバー マシンの EPM がエンドポイントで応答します。
  5. クライアント側の RPC がサーバー アプリにアクセスします。
  6. サーバー アプリは、呼び出しを実行し、クライアント RPC に結果を返します。
  7. クライアント側 RPC は、結果をクライアント アプリに返します。

エラー 1753 は、手順 3 から 4 の間のエラーによって生成されます。 具体的には、エラー 1753 は、RPC クライアント (宛先 DC) がポート 135 経由で RPC サーバー (ソース DC) に接続できるが、RPC サーバー (ソース DC) 上の EPM が目的の RPC アプリケーションを見つけられず、サーバー側エラー 1753 を返したことを意味します。 このエラーは、RPC クライアント (宛先 DC) がネットワーク経由で RPC サーバー (AD レプリケーション ソース DC) からサーバー側のエラー応答を受信したことを示します。

1753 エラーの具体的な根本原因は次のとおりです。

  1. サーバー アプリが起動したことがない。 つまり、"詳細情報" 図の手順 1 は試行されませんでした。
  2. サーバー アプリが起動しましたが、初期化中にエラーが発生しました。 このエラーにより、RPC エンドポイント マッパーに登録することができなくなります。 つまり、"詳細情報" 図の手順 1 が試行されましたが、失敗しました。
  3. サーバー アプリが起動したが、後で死んだ。 つまり、"詳細情報" 図の手順 1 が正常に完了しました。 サーバーが死亡したため、後で元に戻されました。
  4. サーバー アプリは、エンドポイントの登録を手動で解除しました (3 に似ていますが、意図的です)。可能性は高くないが、完全性のために含まれている。
  5. RPC クライアント (宛先 DC) が、目的の RPC サーバーとは異なる RPC サーバーに接続しました。 DNS、WINS、またはホスト/lmhosts ファイルの IP マッピングに対する名前エラーが原因です。

エラー 1753 は次の原因ではありません。

  • ポート 135 経由の RPC クライアント (宛先 DC) と RPC サーバー (ソース DC) 間のネットワーク接続の欠如。
  • ポート 135 を使用する RPC サーバー (ソース DC) と、エフェメラル ポート経由の RPC クライアント (宛先 DC) 間のネットワーク接続の欠如。
  • パスワードの不一致、またはソース DC が Kerberos で暗号化されたパケットを復号化できない。

解決方法

エンドポイント マッパーにサービスを登録するサービスが開始されていることを確認します

  • Windows 2000 および Windows Server 2003 DC の場合: ソース DC が通常モードで起動されていることを確認します。
  • Windows Server 2008 または Windows Server 2008 R2 の場合: ソース DC のコンソールから、Services Manager (services.msc) を起動します。 Active Directory サービスが実行されていることを確認します。 Active Directory が "Active Directory Domain Services" として表示される

RPC クライアント (宛先 DC) が目的の RPC サーバー (ソース DC) に接続されていることを確認します

共通の Active Directory フォレスト内のすべての DC は、_msdcsに GUIDED DC CNAME レコードを登録します。<フォレスト内> に存在するドメインに関係なく、フォレスト ルート ドメイン DNS ゾーン。 ガイド付き DC CNAME レコードは、各 DC NTDS Settings オブジェクトの objectGUID から派生します。

レプリケーション ベースの操作を実行する場合、宛先 DC はソース DC GUIDED CNAME レコードに対して DNS を照会します。 CNAME レコードには、ソース DC の完全修飾コンピューター名が含まれています。 この名前は、次の方法でソース DC IP アドレスを派生させるために使用されます。

  • DNS クライアント キャッシュ参照
  • ホスト/LMHost ファイル参照
  • DNS または WINS で A/AAAA レコードをホストする

古い NTDS 設定オブジェクトと、DNS、WINS、ホスト、LMHOST ファイルの IP マッピングに不適切な名前が付いていると、RPC クライアント (宛先 DC) が間違った RPC サーバー (ソース DC) に接続する可能性があります。 さらに、IP マッピングに不適切な名前を指定すると、RPC クライアント (宛先 DC) が、対象の RPC サーバー アプリケーション (この場合は Active Directory ロール) がインストールされていないコンピューターに接続する可能性があります。 たとえば、DC2 の古いホスト レコードには、DC3 またはメンバー コンピューターの IP アドレスが含まれています。

次の GUID が一致することを確認します。

  • コピー先 DC の Active Directory のコピーに存在するソース DC のオブジェクト GUID
  • ソース DC オブジェクト GUID は、ソース DC の Active Directory のコピーに格納されます。

不一致がある場合は、NTDS settings オブジェクトで を使用 repadmin /showobjmeta して、ソース DC の最後の昇格に対応するものを確認します。 次の日付スタンプを比較します。

  • NTDS Settings オブジェクトは、 から /showobjmeta日付を作成します。
  • ソース DC dcpromo.log ファイルの最後の昇格日。

DCPROMO の最後の変更/作成日を使用する必要がある場合があります。LOG ファイル自体。 オブジェクト GUID が同一でない場合、宛先 DC には、CNAME レコードが IP マッピングに不適切な名前のホスト レコードを参照するソース DC の古い NTDS Settings オブジェクトが存在する可能性があります。

宛先 DC で を実行 IPCONFIG /ALL して、宛先 DC が名前解決に使用している DNS サーバーを決定します。

c:\>ipconfig /all  

宛先 DC で、ソース DC 完全修飾 DC CNAME レコードに対してを実行 NSLOOKUP します。

c:\>nslookup -type=cname \<fully qualified cname of source DC> <destination DCs primary DNS Server IP >
c:\>nslookup -type=cname \<fully qualified cname of source DC> <destination DCs secondary DNS Server IP>

"所有" によって NSLOOKUP 返される IP アドレスが、ソース DC のホスト名/セキュリティ ID を持っていることを確認します。

a) C:\\>NBTSTAT -A \\<IP address _returned_ by NSLOOKUP in the step above>

または

b) ソース DC のコンソールにサインインし、CMD プロンプトから実行 IPCONFIG し、ソース DC が上記の NSLOOKUP コマンドによって返された IP アドレスを所有していることを確認します。

DNS の IP マッピングへの古い/重複するホストを確認します。

NSLOOKUP -type=hostname \<single label hostname of source DC> \<primary DNS Server IP on destination DC>
NSLOOKUP -type=hostname \<single label hostname of source DC> \<secondary DNS Server IP on destination DC>

NSLOOKUP -type=hostname \<fully qualified computer name of source DC> \<primary DNS Server IP on destination DC>
NSLOOKUP -type=hostname \<fully qualified computer name of source DC> \<secondary DNS Server IP on dest. DC>

ホスト レコードに無効な IP アドレスが存在する場合は、DNS 清掃が有効で適切に構成されているかどうかを調査します。

上記のテストまたはネットワーク トレースに無効な IP アドレスを返す名前クエリが表示されない場合は、HOST ファイル、LMHOSTS ファイル、WINS サーバーの古いエントリを検討してください。 DNS サーバーは、WINS フォールバック名解決を実行するように構成することもできます。

サーバー アプリケーション (Active Directory など) が RPC サーバー (ソース DC) 上のエンドポイント マッパーに登録されていることを確認します

Active Directory では、既知のポートと動的に登録されたポートの組み合わせを使用します。 Active Directory ドメイン コントローラーで使用される既知のポートとプロトコルは次のとおりです。

RPC サーバー アプリケーション ポート TCP UDP 注釈
DNS サーバー 53
Kerberos 88
LDAP サーバー 389
Microsoft-DS 445
LDAP SSL 636
グローバル カタログ サーバー 3268
グローバル カタログ サーバー 3269

既知のポートは、エンドポイント マッパーに登録されていません。

Active Directory やその他のアプリケーションは、RPC エフェメラル ポート範囲で動的に割り当てられたポートを受信するサービスも登録します。 このような RPC サーバー アプリケーションは、Windows 2000 コンピューターと Windows Server 2003 コンピューター上の 1024 から 5000 の間で動的に割り当てられる TCP ポートです。 これらは、Windows Server 2008 および Windows Server 2008 R2 コンピューター上の 49152 から 65535 の範囲の間で動的に割り当てられた TCP ポートです。 レプリケーションで使用される RPC ポートは、MSKB 224196に記載されている手順を使用してレジストリでハードコーディングできます。 Active Directory は、ハードコーディングされたポートを使用するように構成されている場合、引き続き EPM に登録します。

対象の RPC サーバー アプリケーションが、RPC サーバー上の RPC エンドポイント マッパー (AD レプリケーションの場合はソース DC) に登録されていることを確認します。

このタスクを実行するには、さまざまな方法があります。 1 つは、ソース DC のコンソールで管理者特権コマンド プロンプトから PORTQRY をインストールして実行することです。

c:\>portquery -n \<source DC> -e 135 >file.txt

portqry出力で、ncacn_ip_tcp プロトコルの "MS NT Directory DRS インターフェイス" (UUID = 351....) によって動的に登録されたポート番号をメモします。 次のスニペットは、Windows Server 2008 R2 DC からの出力例と、Active Directory で使用される UUID/プロトコル ペアが太字で強調表示されていることを示しています。

UUID: e3514235-4b06-11d1-ab04-00c04fc2dcd2 MS NT Directory DRS インターフェイス ncacn_np:CONTOSO-DC01[\pipe\lsass]
UUID: e3514235-4b06-11d1-ab04-00c04fc2dcd2 MS NT Directory DRS インターフェイス
ncacn_np:CONTOSO-DC01[\PIPE\protected_storage]
UUID: e3514235-4b06-11d1-ab04-00c04fc2dcd2 MS NT Directory DRS インターフェイス
ncacn_ip_tcp:CONTOSO-DC01[49156]
UUID: e3514235-4b06-11d1-ab04-00c04fc2dcd2 MS NT Directory DRS インターフェイス
ncacn_http:CONTOSO-DC01[49157]
UUID: e3514235-4b06-11d1-ab04-00c04fc2dcd2 MS NT Directory DRS インターフェイス
ncacn_http:CONTOSO-DC01[6004]

その他の原因

  1. ソース DC が通常モードで起動されていることを確認します。 また、ソース DC の OS と DC の役割が完全に開始されていることを確認します。

  2. Active Directory ドメイン サービスが実行されていることを確認します。 サービスが現在停止しているか、既定のスタートアップ値で構成されていない場合は、既定のスタートアップ値をリセットします。 変更した DC を再起動し、操作を再試行します。

  3. RPC サービスと RPC ロケーターのスタートアップ値とサービスの状態が、RPC クライアント (宛先 DC) と RPC Server (ソース DC) の OS バージョンに対して正しいことを確認します。 サービスが現在停止しているか、既定のスタートアップ値で構成されていない場合は、既定のスタートアップ値をリセットします。 変更した DC を再起動し、操作を再試行します。

    また、サービス コンテキストが既定の設定と一致することも確認します。

    Windows 2000 スタートアップ値 サービスの状態
    リモート プロシージャ コール (RPC) 自動 開始
    Remote Procedure Call (RPC) Locator 自動 開始
    Windows Server 2003、Server 2008、Server 2008 R2 スタートアップ値 サービスの状態
    リモート プロシージャ コール (RPC) 自動 開始
    Remote Procedure Call (RPC) Locator Manual Null または停止
  4. ダイナミック ポート範囲のサイズが制約されていないことを確認します。 RPC ポート範囲を列挙するための Windows Server 2008 および Windows Server 2008 R2 NETSH 構文を次に示します。

    >netsh int ipv4 show dynamicport tcp
    >netsh int ipv4 show dynamicport udp
    >netsh int ipv6 show dynamicport tcp
    >netsh int ipv6 show dynamicport udp
    
  5. KB 224196を確認します。 ハードコーディングされたポートが、ソース DC の OS バージョンのエフェメラル ポート範囲内にあることを確認します。

  6. ClientProtocols キーが 下に HKLM\Software\Microsoft\Rpc 存在し、次の 5 つの既定値が含まれていることを確認します。

    ncacn_http REG_SZ rpcrt4.dll
    ncacn_ip_tcp REG_SZ rpcrt4.dll
    ncacn_nb_tcp REG_SZ rpcrt4.dll
    ncacn_np REG_SZ rpcrt4.dll
    ncacn_ip_udp REG_SZ rpcrt4.dll
    

詳細

RPC エラー 1753 と -2146893022 の原因となっている IP マッピングへの不適切な名前の例: ターゲット プリンシパル名が正しくありません

ドメインは contoso.com 、IP アドレス x.x.1.1 と x.x.1.2 を持つ \\DC1 と \\DC2 で構成されます。 \\DC2 のホスト "A" / "AAAA" レコードは、\\DC1 用に構成されているすべての DNS サーバーに正しく登録されます。 さらに、\\DC1 の HOSTS ファイルには、エントリ マッピング DC2 の完全修飾ホスト名が IP アドレス x.x.1.2 に含まれています。 その後、DC2 の IP アドレスが X.X.1.2 から X.X.1.3 に変更され、新しいメンバー コンピューターが IP アドレス x.x.1.2 のドメインに参加します。 Active Directory サイトとサービス スナップインの "今すぐレプリケート" コマンドによってトリガーされた AD レプリケーションの試行は、エラー 1753 で失敗します。 トレースを次に示します。

F# SRC DEST 操作
1 x.x.1.1 x.x.1.2 ARP:Request, x.x.1.1 は x.x.1.2 を要求します
2 x.x.1.2 x.x.1.1 ARP:Response, x.x.1.2 at 00-13-72-28-C8-5E
3 x.x.1.1 x.x.1.2 TCP:Flags=......S., SrcPort=50206, DstPort=DCE エンドポイント解決(135)
4 x.x.1.2 x.x.1.1 ARP:Request、 x.x.1.2 は x.x.1.1 を要求します
5 x.x.1.1 x.x.1.2 ARP:Response, x.x.1.1 at 00-15-5D-42-2E-00
6 x.x.1.2 x.x.1.1 TCP:Flags=...A。。S., SrcPort=DCE エンドポイント解決(135)
7 x.x.1.1 x.x.1.2 TCP:Flags=...A...、SrcPort=50206、DstPort=DCE エンドポイント解決(135)
8 x.x.1.1 x.x.1.2 MSRPC:c/o バインド: UUID{E1AF8308-5D1F-11C9-91A4-08002B14A0FA} EPT(EPMP)
9 x.x.1.2 x.x.1.1 MSRPC:c/o Bind Ack: Call=0x2 Assoc Grp=0x5E68 Xmit=0x16D0 Recv=0x16D0
10 x.x.1.1 x.x.1.2 EPM:Request: ept_map: NDR, DRSR(DRSR) {E3514235-4B06-11D1-AB04-00C04FC2DCD2} [DCE エンドポイント解決(135)]
11 x.x.1.2 x.x.1.1 EPM:Response: ept_map: 0x16C9A0D6 - EP_S_NOT_REGISTERED

フレーム 10 で、宛先 DC は、Active Directory レプリケーション サービス クラス UUID {E351...} のポート 135 経由でソース DC のエンドポイント マッパーに対してクエリを実行します。

フレーム 11 では、ソース DC (この場合はメンバー コンピューター) がまだ DC の役割をホストしていません。 そのため、{E351...} は登録されていませんローカル EPM を使用したレプリケーション サービスの UUID。 ソース DC はシンボリック エラー EP_S_NOT_REGISTEREDで応答します。 このエラーは、10 進数エラー 1753、16 進エラー 0x6d9、および "エンドポイント マッパーから使用可能なエンドポイントがそれ以上ありません" というわかりやすいエラーにマップされます。

その後、IP アドレス x.x.1.2 のメンバー コンピューターは、ドメイン内の contoso.com レプリカ "MayberryDC" として昇格されます。 繰り返しになりますが、レプリケーションのトリガーには "今すぐレプリケート" コマンドが使用されますが、今回は "ターゲット プリンシパル名が正しくありません" という画面エラーで失敗します。 NIC が IP アドレス x.x.1.2 を所有しているコンピューターはドメイン コントローラーです。 現在、通常モードで起動され、{E351...} レプリケーション サービス UUID がローカル EPM に登録されています。 ただし、DC2 の名前/セキュリティ ID は所有していないため、DC1 から Kerberos 要求を復号化することはできません。 そのため、要求は "ターゲット プリンシパル名が正しくありません" というエラーで失敗します。 このエラーは、10 進エラー -2146893022、16 進エラー 0x80090322 にマップされます。

このような無効なホストから IP へのマッピングは、ホスト/lmhost ファイル、DNS または WINS でのホスト A/AAAA 登録の古いエントリによって発生する可能性があります。

概要:

  • 例 1 は、無効なホストから IP へのマッピング (この場合は HOST ファイル内) のために失敗しました。 これにより、宛先 DC が、AD サービスが実行されていない (またはインストールされていない) "ソース" DC に解決されました。 そのため、レプリケーション SPN はまだ登録されておらず、ソース DC からエラー 1753 が返されました。
  • 2 番目のケースでは、無効なホストから IP へのマッピング (ホスト ファイル内で再び) によって、{E351...} レプリケーション SPN を登録した DC に接続先 DC が接続されました。 ただし、そのソースのホスト名とセキュリティ ID が目的のソース DC とは異なるため、エラー -2146893022: ターゲット プリンシパル名が正しくありません

データ収集

Microsoft サポートからの支援が必要な場合は、「 Active Directory レプリケーションの問題に TSS を使用して情報を収集する」で説明されている手順に従って情報を収集することをお勧めします。