次の方法で共有


レプリケーション エラー 1753。エンドポイント マッパーから使用できるエンドポイントはこれ以上ありません

適用対象: Windows Server 2022、Windows Server 2019、Windows Server

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

DCDIAG によって、接続テスト、Active Directory レプリケーション テスト、または KnowsOfRoleHolders テストがエラー 1753: "エンドポイント マッパーから使用できるエンドポイントはこれ以上ありません" で失敗したことが報告されます。

Testing server: <site><DC Name>
Starting test: Connectivity
* Active Directory LDAP Services Check
* Active Directory RPC Services Check
[<DC Name>] DsBindWithSpnEx() failed with error 1753,
There are no more endpoints available from the endpoint mapper..
Printing RPC Extended Error Info:
Error Record 1, ProcessID is <process ID> (DcDiag)
System Time is: <date> <time>
Generating component is 2 (RPC runtime)
Status is 1753: There are no more endpoints available from the endpoint mapper. Detection location is 500
NumberOfParameters is 4
Unicode string: ncacn_ip_tcp
Unicode string: <source DC object GUID>._msdcs.contoso.com
Long val: -481213899
Long val: 65537
Error Record 2, ProcessID is 700 (DcDiag)
System Time is: <date> <time>
Generating component is 2 (RPC runtime)
Status is 1753: There are no more endpoints available from the endpoint mapper.
NumberOfParameters is 1
Unicode string: 1025
[Replications Check,<DC Name>] A recent replication attempt failed:
From <source DC> to <destination DC>
Naming Context: <DN path of directory partition>
The replication generated an error (1753):
There are no more endpoints available from the endpoint mapper.
The failure occurred at <date> <time>.
The last success occurred at <date> <time>.
3 failures have occurred since the last success.
The directory on <DC name> is in the process.
of starting up or shutting down, and is not available.
Verify machine is not hung during boot.

REPADMIN.EXE で、レプリケーションの試行が状態 1753 で失敗したことが報告されます。 一般に 1753 状態を示す REPADMIN コマンドには、以下が含まれますが、これらに限定されるわけではありません。

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

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

Default-First-Site-NameCONTOSO-DC1
DSA Options: IS_GC
Site Options: (none)
DSA object GUID: b6dc8589-7e00-4a5d-b688-045aef63ec01
DSA invocationID: b6dc8589-7e00-4a5d-b688-045aef63ec01
==== INBOUND NEIGHBORS ======================================
DC=contoso,DC=com
Default-First-Site-NameCONTOSO-DC2 via RPC
DSA object GUID: 74fbe06c-932c-46b5-831b-af9e31f496b2
Last attempt @ <date> <time> failed, result 1753 (0x6d9):
There are no more endpoints available from the endpoint mapper.
<#> consecutive failure(s).
Last success @ <date> <time>.

Active Directory サイトとサービスの [レプリケーション トポロジの確認] コマンドで、"エンドポイント マッパーから使用できるエンドポイントはこれ以上ありません" と返されます。

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

ダイアログ タイトル テキスト: レプリケーション トポロジの確認 ダイアログ メッセージ テキスト: ドメイン コントローラーへの接続試行中に次のエラーが発生しました: エンドポイント マッパーから使用できるエンドポイントはこれ以上ありません。

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

ダイアログ タイトル テキスト: 今すぐレプリケート ダイアログ メッセージ テキスト: ドメイン コントローラー <ソース DC> から ドメイン コントローラー <宛先 DC> への名前付けコンテキスト <%directory partition name%> の同期試行中に、次のエラーが発生しました:

エンドポイント マッパーから使用できるエンドポイントはこれ以上ありません 操作は続行されません

-2146893022 状態の NTDS KCC、NTDS 全般、または Microsoft-Windows-ActiveDirectory_DomainService イベントが、イベント ビューアー のディレクトリ サービス ログに記録されます。

一般に -2146893022 状態を示す Active Directory イベントには、以下が含まれますが、これだけに限りません。

イベント ID イベント ソース イベントの文字列
1655 NTDS 全般 Active Directory は、次のグローバル カタログと通信しようとして、試行が成功しなかった場合。
1925 NTDS KCC 次の書き込み可能なディレクトリ パーティションのレプリケーション リンクを確立できませんでした。
1265 NTDS KCC 知識整合性チェッカー (KCC) による次のディレクトリ パーティションとソース ドメイン コントローラーのレプリケーション アグリーメントを追加する試みが失敗しました。

原因

次の手順は、手順 1 のサーバー アプリケーションの RPC エンドポイント マッパー (EPM) への登録から始まり、手順 7 の RPC クライアントからクライアント アプリケーションへのデータの引き渡しまでの RPC ワークフローを示しています。

ADDS RPC ワークフロー

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

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

1753 エラーの具体的な根本原因には次が含まれます。

  • サーバー アプリが起動していない (つまり、上記の "詳細" 図の手順 1 が試行されなかった)。
  • サーバー アプリは起動されたが、初期化中に、RPC エンドポイント マッパーへの登録を妨げるエラーが発生した (つまり、上記の "詳細" 図の手順 1 は試行されたが、失敗した)。
  • サーバー アプリが起動されたが、その後停止した。 (つまり、上記の "詳細" 図の手順 1 は正常に完了したが、後でサーバーが停止したため元に戻された)。
  • サーバー アプリがエンドポイントを手動で登録解除した (3 と似ていますが、意図的です。可能性は高くありませんが、完全性のために含まれています)。
  • RPC クライアント (宛先 DC) が、DNS、WINS、または host/Lmhosts ファイルの名前から IP へのマッピング エラーが原因で、意図したものとは異なる RPC サーバーに接続した。

エラー 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.msc) を起動し、Active Directory Domain Services サービスが実行されていることを確認します。

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

一般的な Active Directory フォレスト内のすべての DC では、それらがフォレスト内のどのドメインに存在するか関係なく、ドメイン コントローラーの CNAME レコードが _msdcs. <フォレスト ルート ドメイン> DNS ゾーンに登録されます。 DC CNAME レコードは、各ドメイン コントローラーの NTDS 設定オブジェクトの objectGUID 属性から派生されます。

レプリケーション ベースの操作を実行する場合、宛先 DC では DNS に対して、ソース DC の CNAME レコードのクエリが実行されます。 CNAME レコードには、ソース DC の完全修飾コンピューター名が含まれており、これは、DNS クライアント キャッシュ検索、Host/LMHost ファイル検索、DNS 内のホスト A/AAAA レコード、または WINS を介してソース DC の IP アドレスを派生するために使用されます。

古い NTDS 設定オブジェクトや DNS、WINS、ホスト、LMHOST ファイルの名前から IP への不正なマッピングによって、RPC クライアント (宛先 DC) が間違った RPC サーバー (ソース DC) に接続する可能性があります。 さらに、名前と IP の不正なマッピングによって、RPC クライアント (宛先 DC) が、目的の RPC サーバー アプリケーション (この例では Active Directory ロール) がインストールされていないコンピューターに接続してしまう可能性もあります。 (例: DC2 の古いホスト レコードに、DC3 またはメンバー コンピューターの IP アドレスが含まれている)。

Active Directory の宛先 DC のコピーに存在するソース DC の objectGUID が、Active Directory のソース DC コピーに格納されているソース DC objectGUID と一致することを確認します。 不一致がある場合は、ntds 設定オブジェクトで repadmin /showobjmeta を使用して、ソース DC の最後の昇格に対応するものを確認します (ヒント: /showobjmeta から NTDS 設定オブジェクトの作成日の日付スタンプを、ソース DC の dcpromo.log ファイル内の最後の昇格日と比較します。DCPROMO.LOG ファイル自体の最終更新または作成日付を使用する必要が生じる場合があります)。 オブジェクト GUID が同一でない場合、宛先 DC に、CNAME レコードが名前から IP への不正なマッピングによるホスト レコードを参照しているソース DC の古い NTDS 設定オブジェクトがある可能性があります。

宛先 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 が "所有" されていることを確認します。

C:>NBTSTAT -A <IP address returned by NSLOOKUP in the step above>

ソース 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 サーバー アプリケーション Port TCP UDP
DNS サーバー 53 X X
Kerberos 88 X X
LDAP サーバー 389 X X
Microsoft-DS 445 X X
LDAP SSL 636 X X
グローバル カタログ サーバー 3268 X
グローバル カタログ サーバー 3269 X

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

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

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

このタスクを実行する方法は多数ありますが、1 つは次の構文を使用して、ソース DC のコンソールで管理者特権 CMD プロンプトから PORTQRY をインストールして実行する方法です。

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

portqry 出力で、ncacn_ip_tcp プロトコルの "MS NT Directory DRS インターフェイス" (UUID = 351...) によって動的に登録されたポート番号に注意します。 次のスニペットに、Windows Server 2008 R2 DC からの portquery 出力の例を示しています。

UUID: e3514235-4b06-11d1-ab04-00c04fc2dcd2 MS NT Directory DRS Interface
ncacn_np:CONTOSO-DC01[\pipe\lsass]
UUID: e3514235-4b06-11d1-ab04-00c04fc2dcd2 MS NT Directory DRS Interface
ncacn_np:CONTOSO-DC01[\PIPE\protected_storage]
UUID: e3514235-4b06-11d1-ab04-00c04fc2dcd2 MS NT Directory DRS Interface
ncacn_ip_tcp:CONTOSO-DC01[49156]
UUID: e3514235-4b06-11d1-ab04-00c04fc2dcd2 MS NT Directory DRS Interface
ncacn_http:CONTOSO-DC01[49157]
UUID: e3514235-4b06-11d1-ab04-00c04fc2dcd2 MS NT Directory DRS Interface
ncacn_http:CONTOSO-DC01[6004]

このエラーを解決するその他の考えられる方法:

  • ソース DC が通常モードで起動され、ソース DC の OS と DC ロールが完全に起動されていることを確認します。

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

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

    • さらに、サービス コンテキストが次の表に示す既定の設定と一致している必要があります。

      サービス Windows Server 2003 以降の既定の状態 (スタートアップの種類) Windows Server 2000 の既定の状態 (スタートアップの種類)
      リモート プロシージャ コール 開始 (自動) 開始 (自動)
      リモート プロシージャ コール ロケーター Null または停止 (手動) 開始 (自動)
  • 動的ポート範囲のサイズが制限されていないことを確認します。 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
    
  • KB 224196 に定義されたハード コードされたポート定義が、ソース DC の OS バージョンの動的ポート範囲内に収まっていることを確認します。 KB 記事 224196 を確認して、ハードコードされたポートが、ソース DC のオペレーティング システム バージョンのエフェメラル ポートの範囲内に収まっていることを確認します。

  • HKLM\Software\Microsoft\Rpc の下に ClientProtocols キーが存在し、次の 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    Operation
1 x.x.1.1 x.x.1.2 ARP:Request, x.x.1.1 asks for 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 endpoint resolution(135)
4 x.x.1.2 x.x.1.1 ARP:Request, x.x.1.2 asks for 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 endpoint resolution(135)
7 x.x.1.1 x.x.1.2 TCP:Flags=...A...., SrcPort=50206, DstPort=DCE endpoint resolution(135)
8 x.x.1.1 x.x.1.2 MSRPC:c/o Bind: 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 endpoint resolution(135)]
11 x.x.1.2 x.x.1.1 EPM:Response: ept_map: 0x16C9A0D6 - EP_S_NOT_REGISTERED

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

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

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

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

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