如何修复 Windows 中的远程过程调用 (RPC) 错误

Jacki

远程过程调用 (RPC) 错误可能会中断网络通信并阻止对关键 Windows 服务的访问。本指南将引导您完成诊断和修复 RPC 问题以使系统恢复并运行的过程。

RPC 促进软件应用程序之间跨网络的通信。当 RPC 遇到问题时,您在尝试连接到 Windows Management Instrumentation (WMI)、SQL Server 或某些 Microsoft 管理控制台 (MMC) 管理单元时可能会看到类似“RPC 服务器不可用”的错误消息。

在尝试修复之前,查明 RPC 问题的根源非常重要。以下是一些诊断步骤:

推荐阅读:如何修复 Windows 应用商店应用程序中的“远程过程调用失败”错误

步骤一:使用PortQuery工具检查RPC连接。打开提升的命令提示符并运行:

Portqry.exe -n <ServerIP> -e 135

这会查询指定服务器上的 TCP 端口 135。在输出中查找“ip_tcp”并记下列出的所有端口号。

步骤2:如果 PortQuery 显示连接问题,请使用 Netsh 收集网络跟踪数据。在客户端和服务器上运行:

Netsh trace start scenario=netconnection capture=yes tracefile=c:nettrace.etl maxsize=512 overwrite=yes report=yes

步骤3:在客户端计算机上重现 RPC 错误,然后通过运行以下命令停止跟踪:

Netsh trace stop

第4步:使用 Microsoft 网络监视器或消息分析器分析跟踪文件。筛选:

Ipv4.address== and ipv4.address== and tcp.port==135 or just tcp.port==135

在“协议”列中查找“EPM”协议来识别与 RPC 相关的流量。

常见RPC错误原因及解决方法

1. 动态端口分配问题

“RPC 服务器不可用”错误的最常见原因是客户端无法连接到动态分配的端口。

步骤一:检查 Windows 防火墙是否阻止 RPC 动态端口范围。打开具有高级安全性的 Windows Defender 防火墙并查看入站规则。

步骤2:确保客户端和服务器之间的网络设备不会丢失数据包。检查路由器和交换机配置。

步骤3:验证目标服务器是否不会由于 Windows 筛选平台 (WFP) 规则、NIC 问题或筛选驱动程序而丢弃数据包。

2. 网络连接问题

步骤一:使用 ping 命令测试基本网络连接:

ping <ServerIP>

步骤2:如果 ping 失败,请排除网络问题,例如 IP 配置不正确、DNS 问题或物理网络故障。

3.RPC服务未运行

步骤一:打开服务 (services.msc) 并找到“远程过程调用 (RPC)”服务。

步骤2:确保服务设置为“自动”启动并处于“运行”状态。如果没有,请启动该服务并将其设置为自动。

4. RPC相关文件损坏

步骤一:运行系统文件检查器来修复损坏的系统文件:

sfc /scannow

步骤2:如果 SFC 无法解决问题,请使用 DISM 工具修复 Windows 映像:

DISM /Online /Cleanup-Image /RestoreHealth

高级 RPC 故障排除

1. 注册表修改

注意:如果操作不当,编辑注册表可能会导致严重的系统问题。进行更改之前备份注册表。

步骤一:打开注册表编辑器 (regedit.exe) 并导航至:

HKEY_LOCAL_MACHINESOFTWAREMicrosoftRpc

步骤2:查找与 RPC 端口范围相关的条目,并确保它们针对您的网络环境进行了正确配置。

2. 网络痕迹分析

步骤一:使用 Wireshark 或 Microsoft 网络监视器在 RPC 通信尝试期间捕获详细的网络跟踪。

步骤2:分析 TCP 重传、连接重置或影响 RPC 流量的网络问题的其他指标的跟踪。

3. 事件日志调查

步骤一:打开事件查看器并检查系统和应用程序日志中是否有与 RPC 相关的错误。

步骤2:查找与 RPC 故障关联的事件 ID,例如 1727(RPC 服务器不可用)或 10010(RPC 接口错误)。

通过系统地执行这些故障排除步骤,您可以识别并解决 Windows 中的大多数 RPC 错误。如果问题仍然存在,请考虑向 Microsoft 支持寻求帮助或咨询熟悉 RPC 实现的网络专家。