2023年12月6日发(作者:)

简介本文逐步介绍了如何使用 Windows Server 2003 或 Windows 2000 Server CD-ROM 的

Support 文件夹中提供的,或者作为 Windows Server 2003 Resource Kit 或 Windows 2000 Server

Resource Kit 的一部分提供的工具和实用工具,来排除 Windows Server 2003 和 Windows 2000

Server 中的远程过程调用 (RPC) 终结点映射程序错误。远程过程调用是 Windows 操作系统使用的一种协议。RPC 提供了一种进程间通信机制,使一台计算机上运行的程序可以在远程系统上运行代码。

在某些情况下,当您试图使用 Active Directory 站点和服务强制进行 Active Directory 复制时,当您试图使用 Dcpromo 工具提升附加的域控制器时,或者当您从命令行运行 netdom query fsmo 时,可能会收到类似以下内容的错误消息:终结点映射器中没有更多的终结点可用。其他症状可能包括:

注意:如果使用网络捕获程序(如网络监视器)来捕获网络流量,则当计算机尝试使用大于 1024 的任意端口与另一台计算机建立 RPC 会话时,计算机可能收不到响应。发送方计算机使用 RPC 终结点映射程序的通用唯一标识符

(UUID)。RPC 终结点映射程序的 UUID 是

E1AF8308-5D1F-11C9-91A4-08002B14A0FA。

更多信息Dcdiag 工具Dcdiag 工具分析林中或企业中域控制器的状态并报告所有问题,以帮助解决问题。当您运行 Dcdiag 工具时,可以使用该工具来帮助排除 RPC 终结点映射程序错误。为此,请按照下列步骤操作: 1.单击“开始”,单击“运行”,在“打开”框中键入“cmd”,然后单击“确定”。2.键入 dcdiag,然后按 Enter。如果存在 RPC 终结点映射程序问题,Dcdiag 工具会使用类似以下内容的错误消息进行响应: The replication generated an error (1753):There

are no more endpoints available from the endpoint mapper.

DsBindWithSpnEx() failed with error 1753, There are no more endpoints

available from the endpoint mapper.

Directory Binding Error 1753:There are no more endpoints available from the

endpoint mapper.

DsBind() failed with error 1753, There are no more endpoints available from

the endpoint mapper.

DsBindWithSpnEx() failed with error 1722, The RPC server is unavailable.

DsBindWithCred() failed with error 1753. There are no more endpoints

available from the endpoint mapper.

Status is 1722:The RPC server is unavailable.

Netdiag 工具可以使用 Netdiag 工具帮助找出网络和连接问题。并且可以使用该工具帮助解决 RPC 终结点映射程序问题。为此,请按照下列步骤操作: 1.单击“开始”,单击“运行”,在“打开”框中键入“cmd”,然后单击“确定”。2.键入

netdiag,然后按 Enter。如果存在 RPC 终结点映射程序问题,Netdiag 工具会使用类似以下内容的错误消息进行响应:

[WARNING] Failed to query SPN registration on DC

.

Kerberos test.. . . . . . . . . . : Skipped Your logon domain isn't running

Kerberos.(Administrator) Kerberos cannot be tested. DC list test .. . . . . . . . . . : Failed [WARNING] Cannot call DsBind to

et

(10.55.0.110).[EPT_S_NOT_REGISTERED]

Trust relationship test.. . . . . : Failed Test to ensure DomainSid of domain

'' is correct.[FATAL] Secure channel to domain

'' is broken.[ERROR_ACCESS_DENIED]

Repadmin 工具可以使用 Repadmin 工具进行 Active Directory 复制、解决

Active Directory 复制问题和 RPC 终结点映射程序问题。为此,请按照下列步骤操作: 1.单击“开始”,单击“运行”,在“打开”框中键入“cmd”,然后单击“确定”。2.键入 Repadmin /bind,然后按 Enter。如果存在 RPC 终结点映射程序问题,Repadmin 工具会使用类似以下内容的错误消息进行响应:

DsBindWithCred to localhost failed with status 1753 (0x6d9):There are no

more endpoints available from the endpoint mapper.

Ntdsutil 工具企业管理员和域管理员可以使用 Ntdsutil 工具来管理和修复

Active Directory,并帮助解决 RPC 终结点映射程序问题。要帮助解决 RPC 终结点映射程序问题,请按照下列步骤操作: 1.单击“开始”,单击“运行”,在“打开”框中键入“cmd”,然后单击“确定”。2.键入 NTDSUtil ?,然后按 Enter。3.在“ntdsutil:”提示符处,键入 Metadata cleanup,然后按 Enter。4.在“metadata

cleanup:”提示符处,键入 Connections,然后按 Enter。5.在“Connections:”提示符处,键入 Connect to server localhost,然后按 Enter。如果存在 RPC 终结点映射程序问题,Ntdsutil 工具会使用类似以下内容的错误消息进行响应:

DsBindW error 0x6d9 (There are no more endpoints available from the

endpoint mapper.)

Gpotool 工具可以使用 Gpotool 工具检查域控制器中组策略对象的一致性。Gpotool 工具包含在 Windows Server 2003 Resource Kit 中。可以通过访问以下 Microsoft 网站下载 Windows Server 2003 Resource Kit:

/downloads/?FamilyID=9d467a69-57ff-4ae7-96ee-b18c4790cffd&DisplayLang=en

(/downloads/?FamilyID=9d467a69-57ff-4ae7-96ee-b18c4790cffd&DisplayLang=en)

安装 Resource Kit 后,可以使用 Gpotool 工具帮助解决 RPC 终结点映射程序问题。为此,请按照下列步骤操作: 1.单击“开始”,指向“程序”,单击“Windows

Resource Kit 工具”,然后单击“命令外壳”。2.键入 gpotool,然后按 Enter。

如果存在 RPC 终结点映射程序问题,Gpotool 工具会使用类似以下内容的错误消息进行响应: GPOTOOL:e ERROR:GetDCList; DsBindW; hr=800706d9;

There are no more endpoints available from the endpoint mapper.

GPOTOOL:+ File:d:; Line:728

GPOTOOL:e ERROR:GetDCList; GetDCList failed; hr=800706d9; There are

no more endpoints available from the endpoint mapper.

GPOTOOL:+ File:d:; Line:644

事件查看器

当 RPC 无法正常工作时,域客户端、成员服务器或域控制器中可能会记录下列事件: 事件 ID: 1053

来源: Userenv

描述:Windows 不能确定用户或计算机名称。(终结点映射器中没有更多的终结点可用。)组策略处理中止。

事件 ID: 1000

来源: Userenv

描述:Windows 不能确定用户或计算机名称。返回值 (1753)。 :

事件 ID: 1168

来源:NTDS General

描述:发生错误 -1073741823(c0000001)(内部 ID 3000b35)。请与 Microsoft

产品支持服务联系以获得帮助。

事件 ID: 1265

来源:NTDS KCC

描述:尝试使用下列参数建立复制链接时失败: 分区:CN=Configuration,DC=contoso,DC=com 源 DSA DN:CN=NTDS

Settings,CN=ServerName,CN=Servers,CN=domainname,CN=Sites,CN=Configuration,DC=contoso,DC=com 源 DSA 地址:70863dce-1031-47ea-a567-2f46212dd361._ 站点间传输 (如果有):CN=IP,CN=Inter-Site

Transports,CN=Sites,CN=Configuration,DC=securityroot,DC=net 状态如下:终结点映射器中没有更多的终结点可用。记录数据是状态码。将重试此操作。

事件 ID: 1656

来源:NTDS 常规事件

描述:目录服务找不到任何安装在此计算机上的 RPC 协议序列,错误是 1719。如果这种情况继续存在,目录服务将无法对任何 RPC 请求作出响应。

事件 ID: 10010

来源: DCOM

描述:服务器 {8BC3F05E-D86B-11D0-A075-00C04FB68820} 没有在限定的时间内用 DCOM 注册。

事件 ID: 4097

来源: EventSystem

描述:COM+ 事件系统在其内容处理过程中检测到一个错误的返回代码。. 第 42 行中的 HRESULT 是 80070005。请与

Microsoft 产品支持服务联系以报告此错误。

事件 ID: 1012

来源: Winlogon

描述:自动证书注册子系统不能访问注册需要的本地资源。注册不能执行。(0x800706d9) 终结点映射器中没有更多的终结点可用。

Active Directory 安装向导 () 将基于 Windows Server 的计算机提升为域控制器。如果 Dcpromo 工具由于 RPC 问题而失败,则

文件中会出现类似以下内容的错误消息。

注意: 文件位于 %windir%Debug 文件夹中。

02/07 21:08:48 [INFO] Error - The Directory Service failed to create the object

CN=Name,CN=Partitions,CN=Configuration,DC=domain,DC=

check the event log for possible system errors.(1753) 02/07 21:08:49 [INFO]

NtdsInstall for returned 1753 02/07 21:08:49

[INFO] DsRolepInstallDs returned 1753 02/07 21:08:49 [ERROR] Failed to

install the directory service (1753)

10/03 10:13:17 [INFO] Error - The Directory Service failed to create the server

object for CN=NTDS

Settings,CN=name,CN=Servers,CN=name,CN=Sites,CN=Configuration,DC=domainname ,DC=com on server

ensure the network credentials provided have sufficient access to add a

replica.(1753) 10/03 10:13:17 [INFO] NtdsInstall for

. returned 1753 10/03 10:13:17 [INFO]

DsRolepInstallDs returned 1753 10/03 10:13:17 [ERROR] Failed to install to

Directory Service (1753)

06/20 16:41:27 [INFO] Error - The initial LDAP connection to server

FQDNServerName failed.(58) 06/20 16:41:27 [INFO] NtdsInstall for

. returned 58 06/20 16:41:27 [INFO]

DsRolepInstallDs returned 58 06/20 16:41:27 [ERROR] Failed to install the

directory service (58)

06/21 11:49:57 [INFO] Error - The Directory Service failed to replicate the

partition CN=Schema,CN=Configuration,DC=...(1722) 06/21 11:49:59 [INFO]

NtdsInstall for . returned 1722 06/21 11:49:59

[INFO] DsRolepInstallDs returned 1722 06/21 11:49:59 [ERROR] Failed to

install the directory service (1722)

06/21 17:08:41 [INFO] NtdsInstall for . returned

1753 06/21 17:08:41 [INFO] DsRolepInstallDs returned 1753 06/21 17:08:41

[ERROR] Failed to install the directory service (1753)

注意:这些错误代码代表以下内容: ?错误代码 58 代表“指定的服务器无法运行请求的操作”。?错误代码 1722 代表“RPC 服务器不可用”。?错误代码 1753

代表 “终结点映射程序中没有更多可用的终结点”。 另外, 也可能报告类似以下内容的错误消息: dcpromoui

t:0x0C4 01335 Enter State::SetFailureMessage The operation failed

because:The Directory Service failed to create the object

CN=Name,CN=Partitions,CN=Configuration,DC=Domainname,DC=com.

回到顶端

Active Directory 迁移工具

Active Directory 迁移工具 (ADMT) 可能会在运行 ADMT 的计算机的事件查看器中生成类似以下内容的事件: 事件 ID: 1540

来源: NTDS Replication

描述:添加 SID 到对象 ? 时出现错误 1753,DSID 11a05b1。

%windir%debug 中的 日志显示如下:

clonepr t:0x5CC 00254 HRESULT = 0x800706D9 clonepr t:0x5CC

00255 Enter GetErrorMessage 800706D9 clonepr t:0x5CC 00256

Exit GetErrorMessage 800706D9 clonepr t:0x5CC 00257 Enter

SetComError 将源 SID 添加到目标对象的 SID 历史记录中失败。错误是:“终结点映射程序中没有更多的终结点可用。 " clonepr t:0x5CC 00258 Exit

SetComError 将源 SID 添加到目标对象的 SID 历史记录中失败。错误是:“终结点映射程序中没有更多的终结点可用。 "

如何解决 RPC 终结点映射程序错误

警告:注册表编辑器使用不当可能导致严重问题,可能需要重新安装操作系统。Microsoft 不能保证您可以解决因注册表编辑器使用不当而导致的问题。使用注册表编辑器需要您自担风险。

“没有更多的终结点可用”错误消息表示 RPC 终结点映射程序无法对基于

RPC 运行的服务使用大于 1024 的端口。

注意:RPC 终结点映射程序在端口 135 上运行。

RPC 可以使用多达 65535 个端口。默认情况下,所有版本的 Windows 都只使用 1024-5000 之间的端口。 要修复 RPC 终结点映射程序,请按照下列步骤操作: 1.在出错的服务器上验证下列服务的状态和启动类型: 计算机类型RPC 服务RPC Locator 服务基于 Windows Server 2003 的域控制器已启动,自动已停止,手动基于 Windows Server 2003 的成员服务器已启动,自动已停止,手动基于 Windows Server 2003 的独立服务器已启动,自动已停止,手动基于 Windows 2000 Server 的域控制器已启动,自动已启动,自动基于

Windows 2000 Server 的成员服务器已启动,自动已启动,手动基于 Windows

2000 Server 的独立服务器已启动,自动已停止,手动如果对 RPC 服务或

RPC Locator 服务的设置进行更改,则应重新启动计算机,然后再次测试问题。2.验证注册表中是否存在以下项: 回到顶端

Microsoft Windows XP 和 Microsoft Windows 2000验证

HKEY_Local_MachineSoftwareMicrosoftRpc 项下是否存在“ClientProtocols”项,并验证“ClientProtocols”项是否至少包含下列 5 个默认值: ?ncacn_http REG_SZ ?ncacn_ip_tcp REG_SZ

?ncacn_nb_tcp REG_SZ ?ncacn_np REG_SZ

?ncacn_ip_udp REG_SZ 回到顶端

Microsoft Windows NT 4.0验证

HKEY_Local_MachineSoftwareMicrosoftRpc 项下是否存在“ClientProtocols”项,并验证“ClientProtocols”项是否至少包含下列 6 个默认值: ?ncacn_np REG_SZ ?ncalrpc REG_SZ ncalrpc?ncacn_ip_tcp

REG_SZ ?ncadg_ip_udp REG_SZ ?ncadg_nb_tcp

REG_SZ ?ncacn_http REG_SZ 回到顶端

Microsoft Windows 98验证 HKEY_Local_MachineSoftwareMicrosoftRpc 项下是否存在“ClientProtocols”项,并验证“ClientProtocols”项是否至少包含下列

4 个默认值: ?ncacn_np REG_SZ ?ncalrpc REG_SZ

ncalrpc?ncacn_ip_tcp REG_SZ ?ncacn_http REG_SZ 有关相关主题的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章: 325930 (/kb/325930/) 如何解决由

RPC 客户端协议注册表条目导致的连接问题

要验证客户端注册表设置,请按照下列步骤操作: a. 单击“开始”,单击“运行”,在“打开”框中键入“regedit”,然后单击“确定”。b. 在注册表编辑器中,找到以下子项: HKEY_Local_MachineSoftwareMicrosoftRpc

c. 确保前面列出的五个默认值都存在。如果缺少某些值或全部值,您可以手动添加缺少的值,方法是:右键单击“ClientProtocols”,单击“新建”,然后单击“字符串值”。3.验证 DNS 是否正常工作。为此,请按照下列步骤操作: a. 在出错的计算机上,单击“开始”,单击“运行”,在“打开”框中键入“cmd”,然后单击“确定”。b. 从命令行中键入 Netdiag -v 或键入 ping -a IP_of_problem_server,以确保主机记录解析为正确的计算机。4.验证大于 1024 的端口未被阻止。客户端连接到端口 135 上的 RPC 终结点映射程序。RPC 终结点映射程序随后告知客户端,请求的服务正在侦听 1024-65535 之间的哪些随机分配端口。 硬件防火墙、基于 Windows Server 2003 的计算机上和基于 Windows XP 的计算机上的 Windows 防火墙、第三方防火墙软件或内置有防火墙功能的防病毒软件都可能阻止端口。默认情况下,必须打开 135 TCP/UDP 端口和 1024-65535 之间的 TCP 端口,RPC 才能正常工作。不过,您可以限制 RPC 使用大于 1024

的端口。但是,RPC 终结点映射程序始终在端口 135 上运行。

还可以使用 Portqry 工具验证所需的端口是否已打开。必须在未出现任何 RPC

错误的计算机上使用 -n 开关对出现 RPC 错误的计算机运行 Portqry 工具。为此,请按照下列步骤操作: a. 单击“开始”,单击“运行”,在“打开”框中键入“cmd”,然后单击“确定”。b. 键入 portqry -n problem_server -e 135。

将出现类似以下示例的输出: Querying target system

called:problem_serverAttempting to resolve name to Name

resolved to 169.254.problem_serverTCP port 135 (epmap

service):LISTENINGUsing ephemeral source portQuerying Endpoint Mapper

NtFrs

Servicencacn_ip_tcp:65.53.63.16[1094]UUID:e3514235-4b06-11d1-ab04-00c04fc2dcd2 MS NT Directory DRS

Interfacencacn_ip_tcp:65.53.63.16[1025]UUID:e3514235-4b06-11d1-ab04-00c04fc2dcd2 MS NT Directory DRS

Interfacencacn_http:65.53.63.16[1029]UUID:e3514235-4b06-11d1-ab04-00c04fc2dcd2 MS NT Directory DRS Interfacencacn_http:65.53.63.16[6004]

如果端口 135 被阻止,将显示以下内容: TCP port 135 (epmap service):NOT

LISTENING

但是,对于这些 RPC 终结点映射程序错误,可能是大于 1024 的端口而非端口 135 被阻止。 从输出中,您了解到 DC 将端口 1094 用于 FRS,将端口

1025、1029 和 6004 用于 Active Directory 复制。可以再次使用 Portqry 工具检查这些端口。例如,可以带 -o 开关使用 Portqry 工具以同时测试所有端口。例如,键入 portqry -n problem_server -o 1094,1025,1029,6004

如果端口均响应为“LISTENING”,则此问题可能不是由被阻止的端口引起的。如果所有端口均响应为“NOT LISTENING”,则端口可能被阻止。5.可以使用三个可以添加到

HKEY_Local_MachineSYSTEMCurrentControlSetServicesTcpipParameters 子项中的 REG_DWORD 值来帮助解决 RPC 问题。

注意:默认情况下这三个条目均不存在。 ?MaxUserPort

此条目使更多端口可用。?TcpTimedWaitDelay

如果将该值从默认设置 240 秒减小到一个较小的值,将会使端口较早过期。此参数确定当连接被关闭时,它停留在 TIME_WAIT 状态的时间长度。当连接处于 TIME_WAIT 状态时,不能重新使用套接字对。这也称为 2MSL 状态,因为该值应该是网络上最大片段生命周期的两倍。有关详细信息,请参阅 RFC

793。?TcpMaxDataRetransmissions

默认值为 5。可以尝试 4 或 3,但是不要尝试小于 3 的值。此参数控制在中止连接之前 TCP 重新传输单个数据片段(不是连接请求片段)的次数。在一次连接中,每次重新传输的超时值都是上一次的两倍。当响应恢复时,超时值将重置。在每次连接中,都会使用历史上测量的往返值(平滑往返时间或 SRTT)动态调整重新传输超时 (RTO) 值。新连接中的起始 RTO 由 TcpInitialRtt 注册表值控制。6.如果 HKEY_LOCAL_MACHINESoftwareMicrosoftRpcInternet 注册表项存在,并且未列出任何值,则 RPC 只有一个可用端口。默认情况下,此注册表项不存在;如果在此项下未列出任何值,请删除此项,然后重新启动服务器。

注意:其他软件程序也可能导致 RPC 终结点映射程序错误,这些程序包括: ?Noblenet Portmapper。

此实用工具需要指向其自身的主机文件才能正常工作。编辑主机文件可以解决此问题。 ?使用 AD 知识模块 (KM) 的 BMC Patrol 代理软件。

在此情况下,应更新到最新版本,至少为 1.4.01。 ?网络适配器驱动程序不兼容。

在此情况下,应升级到 Windows 硬件质量实验室 (WHQL) 签名的最新驱动程序版本。

回到顶端

参考有关配置与防火墙一起使用的 RPC 动态端口分配的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章: 154596

(/kb/154596/) 如何配置与防火墙一起使用的 RPC

动态端口分配

有关限制 FRS 或 Active Directory 复制所使用的端口的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章: 224196

(/kb/224196/) 将 Active Directory 复制流量和客户端 RPC 流量限制在特定端口

有关如何限制去往静态端口的 FRS 复制通信的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章: 319553

(/kb/319553/) 如何限制特定静态端口的 FRS 复制流量

有关 Windows Server 系统的端口要求的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章: 832017

(/kb/832017/) Windows 服务器系统的服务概述和网络端口要求

本文中提到的第三方产品由 Microsoft 以外的其他公司提供。对于这些产品的性能或可靠性,Microsoft 不作任何暗示保证或其他形式的保证