複寫錯誤 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> 時發生下列錯誤:

端點對應程式中已沒有可用的端點。 作業不會繼續

NTDS KCC、NTDS General 或具有 -2146893022 狀態的 Microsoft-Windows-ActiveDirectory_DomainService 事件會記錄在事件檢視器中的目錄服務記錄檔中。

經常引用 -2146893022 狀態的 Active Directory 事件包括 (但不限於):

事件識別碼 事件來源 事件字串
1655 NTDS General Active Directory 嘗試與下列通用類別目錄通訊,但嘗試失敗。
1925 NTDS KCC 嘗試建立下列可寫入目錄磁碟分割的複寫連結失敗。
1265 NTDS KCC 認知一致性檢查程式 (KCC) 嘗試為下列目錄磁碟分割和來源網域控制站新增複寫協定,但嘗試失敗。

原因

下列步驟顯示 RPC 工作流程,從步驟 1 的「向 RPC 端點對應程式 (EPM) 註冊伺服器應用程式」開始,一直到步驟 7 的「將 RPC 用戶端資料傳遞至用戶端應用程式」。

新增 RPC 工作流程

  1. 伺服器應用程式向 RPC 端點對應程式 (EPM) 註冊其端點
  2. 用戶端 (代表使用者、作業系統或應用程式起始的作業) 進行 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。 存在錯誤 1753 表示 RPC 用戶端 (目的 DC) 透過網路收到來自 RPC 伺服器 (AD 複寫來源 DC) 的伺服器端錯誤回應。

錯誤 1753 的具體根本原因包括:

  • 伺服器應用程式從未啟動過 (亦即從未嘗試執行上述 [詳細資訊] 圖表中的步驟 1)。
  • 伺服器應用程式已啟動,但初始化期間發生一些錯誤,導致無法向 RPC 端點對應程式註冊 (亦即已嘗試執行上述 [詳細資訊] 圖表中的步驟 1,但嘗試失敗)。
  • 伺服器應用程式已啟動,但隨後中止。 (亦即已順利完成上述 [詳細資訊] 圖表中的步驟 1,但隨後因伺服器中止而恢復原先狀態)。
  • 伺服器應用程式手動取消註冊其端點 (類似步驟 3,但這裡是刻意為之。不太可能發生,但將其納入以求完整)。
  • RPC 用戶端 (目的 DC) 連絡的 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.msc),並確認 Active Directory Domain Services 服務正在執行。

確認 RPC 用戶端 (目的 DC) 已連接到預期的 RPC 伺服器 (來源 DC)

通用 Active Directory 樹系中的所有 DC 都在 _msdcs中註冊網域控制站 CNAME 記錄。 <樹系根網域> DNS 區域 (不論其位於樹系內的哪個網域)。 DC CNAME 記錄衍生自每個網域控制站 NTDS 設定物件的 objectGUID 屬性。

執行複寫型作業時,目的 DC 會查詢來源 DC CNAME 記錄的 DNS。 CNAME 記錄包含來源 DC 完整電腦名稱,可用於透過 DNS 用戶端快取查閱、主機/LMHost 檔案查閱、DNS 中的主機 A/ AAAA 記錄或 WINS 來衍生來源 DC IP 位址。

DNS、WINS、主機和 LMHOST 檔案中過時的 NTDS 設定物件和不正確的名稱與 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 可能會有來源 DC 的過時 NTDS 設定物件,且其 CNAME 記錄參照了名稱與 IP 對應錯誤的主機記錄。

在目的 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 的主機名稱/安全性身分識別:

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 位址的名稱查詢,請考慮主機檔案、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 連接埠執行硬式編碼,可以使用知識庫文章 224196 中所列的步驟。 設定為使用硬式編碼連接埠時,Active Directory 會繼續向 EPM 註冊。

確認相關的 RPC 伺服器應用程式已向 RPC 伺服器 (AD 複寫時的來源 DC) 上的 RPC 端點對應程式註冊本身的資料。

有數種方式可以完成這項工作,其中一種方式是使用語法,從來源 DC 主控台上的系統管理員特殊權限 CMD 提示字元安裝和執行 PORTQRY:

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

在 portqry 輸出中,記下由 ncacn_ip_tcp 通訊協定的 「MS NT Directory DRS Interface」(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 網域服務正在執行。 如果服務目前已停止或未設定預設啟動值,請重設預設啟動值、將修改後的 DC 重新開機,然後重試作業。

  • 確認 RPC 服務和 RPC 定位器的啟動值和服務狀態正確,適用於 RPC 用戶端 (目的 DC) 和 RPC 伺服器 (來源 DC) 的作業系統版本。 如果服務目前已停止或未設定預設啟動值,請重設預設啟動值、將修改後的 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
    
  • 確認知識庫 224196 中的硬式編碼連接埠定義是否在來源 DC 作業系統版本適用的動態連接埠範圍內。 請檢閱知識庫文章 224196,並確定硬式編碼連接埠落在來源 DC 作業系統版本的暫時連接埠範圍內。

  • 確認 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
    

其他相關資訊

範例:名稱與 IP 對應錯誤導致 RPC 錯誤 1753 與 -2146893022:目標主體名稱不正確

contoso.com 網域包含具有 IP 位址 x.x.1.1 和 x.x.1.2 的 DC1 和 DC2。 DC2 的主機 「A」/「AAAA」記錄會在針對 DC1 設定的所有 DNS 伺服器上正確註冊。 此外,DC1 上的 HOSTS 檔案包含將 DC2s 完整主機名稱對應至 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,該錯誤對應至十進位錯誤 1753、十六進位錯誤 0x6d9,以及易於理解的錯誤「端點對應程式中已沒有可用的端點」。

之後,具有 IP 位址 x.x.1.2 的成員電腦會在 contoso.com 網域中升級為複本「MayberryDC」。 同樣地,[立即複寫] 命令會用於觸發複寫,但這次將會失敗並於畫面顯示錯誤:「目標主體名稱不正確」。網路介面卡獲派 IP 位址 x.x.1.2 的電腦是網域控制站,其目前已開機且進入正常模式,並已使用其本機 EPM 註冊 E351...複寫服務 UUID,但未擁有 DC2 的名稱或安全性身分識別,且無法解密來自 DC1 的 Kerberos 要求,因此要求現在會失敗,並且出現錯誤「目標主體名稱不正確」。錯誤對應至十進位錯誤 -2146893022 / 十六進位錯誤 0x80090322。

這類無效的主機與 IP 對應可能是主機/lmhost 檔案中的過時項目、DNS 中的主機 A/ AAAA 註冊或 WINS 所造成。

摘要:此範例失敗,因為主機與 IP 對應無效 (此案例為 HOST 檔案中) 導致目的 DC 解析為未執行 (或甚至未安裝) Active Directory Domain Services 服務的「來源」DC,因此複寫 SPN 尚未註冊,且來源 DC 傳回錯誤 1753。 在第二個案例中,主機與 IP 對應無效 (在 HOST 檔案中再次出現) 導致目的 DC 連接到已註冊 E351... 複寫 SPN 的 DC,但該來源的主機名稱和安全性身分識別與預期的來源 DC 不同,因此嘗試失敗並出現錯誤 -2146893022:目標主體名稱不正確。