凌峰创科服务平台

1722 RPC服务器不可用,如何解决?

什么是 RPC?

要理解这个错误,我们得先明白 RPC 是什么。

1722 RPC服务器不可用,如何解决?-图1
(图片来源网络,侵删)
  • RPC 的全称是 Remote Procedure Call,中文译为 “远程过程调用”
  • 简单比喻:你可以把它想象成一种“跨计算机的电话系统”,你的电脑(客户端)需要另一台电脑(服务器)上的某个功能,它就通过 RPC “打电话”给那台服务器,告诉它“请帮我做这件事”,然后服务器做完后,再把结果“电话”回来。

RPC 的核心作用:它允许一台计算机上的程序,无缝地请求另一台计算机上的服务,就像调用本地函数一样方便,许多 Windows 的核心服务和网络功能都依赖于它,

  • 文件和打印机共享:你访问另一台电脑上的共享文件夹,就是通过 RPC。
  • 组策略:域控制器应用组策略到客户端电脑,依靠 RPC。
  • Windows 防火墙:远程管理防火墙规则需要 RPC。
  • 分布式事务协调器:数据库等应用程序需要它来保证数据一致性。

当你的电脑说“RPC 服务器不可用”时,它的真正意思是:“我尝试通过 RPC 协议联系另一台电脑,但失败了。


错误代码 1722 的官方含义

根据微软官方文档,错误代码 1722 的定义是:

RPC 服务器不可用。

1722 RPC服务器不可用,如何解决?-图2
(图片来源网络,侵删)

英文原文是:

The RPC server is unavailable.

这个错误非常明确地指出了问题的根源:RPC 通信链路中断了,问题可能出在客户端、服务器端,或者它们之间的网络路径上。


常见原因分析

导致这个错误的原因多种多样,通常可以分为以下几类:

1722 RPC服务器不可用,如何解决?-图3
(图片来源网络,侵删)

网络连接问题 (最常见)

  • 物理连接问题:网线松动、Wi-Fi 信号弱或断开。
  • 网络设备问题:交换机、路由器出现故障或配置错误。
  • IP 地址冲突:网络中有两台设备使用了相同的 IP 地址。
  • 子网掩码或网关错误:客户端的配置无法正确路由到目标服务器。
  • 防火墙拦截:这是第二大常见原因,客户端或服务端的防火墙(包括 Windows Defender 防火墙)可能阻止了 RPC 所需的端口。

服务未运行 (在服务器端)

目标服务器(你要连接的那台电脑)上,RPC 相关服务没有启动或崩溃了,最关键的服务是:

  • RPC Locator (RPC 定位器服务):负责将 RPC 程序名称映射到网络地址,对于较老的系统或某些特定功能,此服务至关重要。
  • RPC Endpoint Mapper (RPC 端点映射器服务):这是 RPC 的“总机”,客户端首先会联系它来找到最终服务的具体端口,此服务是 RPC 的核心,必须运行。
  • Computer Browser (计算机浏览器服务):在“网络”邻居中查看其他电脑依赖此服务。

RPC 配置问题

  • DCOM 配置错误:DCOM (Distributed Component Object Model) 是 RPC 的一种高级应用,用于组件间的通信,DCOM 的访问权限或启动权限配置不当,也会导致 RPC 失败。
  • RPC 服务依赖项缺失:某个 RPC 服务可能依赖于另一个服务,如果被依赖的服务没启动,它也无法启动。

DNS 解析问题

如果你的客户端是通过计算机名(如 fileserver01)而不是 IP 地址来访问服务器的,DNS 解析失败也会导致“服务器不可用”,电脑无法找到 fileserver01 对应的 IP 地址,自然也就无法建立连接。

系统文件损坏

Windows 的系统文件如果损坏,也可能导致 RPC 服务无法正常工作。


详细的排查和解决步骤

请按照从易到难的顺序进行排查。

步骤 1:基础网络检查

  1. Ping 测试

    • Ping IP 地址:在客户端电脑上打开命令提示符(CMD),输入 ping <服务器IP地址>请求超时找不到主机,说明网络物理层或 IP 层有问题,如果通,说明网络基础是通的。
    • Ping 计算机名:接着输入 ping <服务器计算机名>,如果不通,说明是 DNS 解析问题,请检查 DNS 服务器设置,或尝试在客户端的 hosts 文件 (C:\Windows\System32\drivers\etc\hosts) 中手动添加服务器 IP 和名称的映射。
  2. 检查网络共享

    • 在文件资源管理器的地址栏中,输入 \\<服务器IP地址>\\<服务器计算机名>,然后按回车,如果可以打开,说明网络连接和文件共享基本正常,问题可能出在其他依赖 RPC 的应用上。

步骤 2:检查防火墙 (最关键的排查点)

这是导致 1722 错误的“头号嫌疑犯”。

  1. 暂时禁用防火墙测试

    • 客户端服务器端,暂时禁用 Windows Defender 防火墙。
    • 客户端控制面板 -> Windows Defender 防火墙 -> 启用或关闭 Windows Defender 防火墙 -> 将“专用网络设置”和“公用网络设置”都改为“关闭 Windows Defender 防火墙”。
    • 服务器端:操作同上。
    • 禁用后,再次尝试你的操作,如果成功,100% 是防火墙规则的问题
  2. 配置正确的防火墙规则

    • 如果禁用后问题解决,请立即重新启用防火墙。
    • 你需要为 RPC 服务添加入站规则。
    • 服务器端
      • 打开 高级安全 Windows Defender 防火墙
      • 点击 入站规则 -> 新建规则...
      • 选择 程序,点击 下一步
      • 选择 此程序路径,然后浏览到 C:\Windows\System32\svchost.exe,点击 下一步
      • 选择 允许连接,点击 下一步
      • 勾选 专用公用(根据你的网络环境选择),点击 下一步
      • 为规则命名,Allow RPC (svchost),然后点击 完成
    • 重要提示:RPC 使用的端口是动态的,所以直接开放端口不可靠,通过允许 svchost.exe 并配合服务配置,是最稳妥的方法,你也可以搜索“RPC 服务防火墙规则”,微软官方有详细的指导文档。

步骤 3:检查服务器端服务

如果防火墙没问题,我们来检查服务器上必须运行的服务。

  1. 打开服务管理器:按 Win + R,输入 services.msc,回车。
  2. 找到并确保以下服务正在运行,启动类型”为“自动”或“手动”:
    • RPC Endpoint Mapper:必须运行,这是核心。
    • RPC Locator:对于文件共享等功能,建议运行。
    • Function Discovery Provider Host
    • Function Discovery Resource Publication
    • SSDP DiscoveryUPnP Device Host:如果涉及网络设备发现。
  3. 如何启动服务
    • 双击服务,查看“服务状态”,如果不是“正在运行”,点击“启动”。
    • 如果启动失败,检查“依存关系”选项卡,看是否有其他依赖服务未启动。
    • 如果服务被禁用,将“启动类型”从“禁用”改为“自动”或“手动”,然后重启服务。

步骤 4:检查 DCOM 配置

如果以上步骤都无效,问题可能出在 DCOM 的权限上。

  1. 打开 组件服务:按 Win + R,输入 comexp.msc,回车。
  2. 展开 组件服务 -> 计算机 -> 我的电脑
  3. 右键点击 我的电脑,选择 属性
  4. 切换到 默认属性 选项卡,确保 在此计算机上启用分布式 COM 已勾选。
  5. 切换到 COM 安全 选项卡。
    • 访问权限启动和激活权限 中,点击 编辑
    • 确保你的用户账户(如 Authenticated UsersEveryone,以及 SYSTEM)至少拥有“本地访问”和“远程访问”权限,通常默认权限是足够的,但如果被修改过,可能会导致问题。

步骤 5:系统文件检查

如果怀疑是系统文件损坏,可以运行 SFC 和 DISM 工具。

  1. 以管理员身份打开命令提示符。
  2. 输入 sfc /scannow 并回车,等待扫描完成,它会自动修复损坏的系统文件。
  3. SFC 无法修复,再运行 DISM:
    • DISM /Online /Cleanup-Image /RestoreHealth
  4. 完成后重启电脑。

总结与最终建议

问题类别 核心检查点 解决方案
网络问题 Ping IP、Ping 主机名、检查网关/DNS 修复物理连接、检查 IP/DNS 配置
防火墙 临时禁用测试 配置正确的 svchost.exe 入站规则
服务问题 services.msc 中的 RPC 相关服务 启动服务、设置启动类型为“自动”
DCOM 权限 comexp.msc 中的访问/激活权限 添加必要的用户权限
系统文件 系统运行不稳定 运行 sfc /scannowDISM

行动路线图

  1. 先 Ping:区分是网络问题还是 RPC 协议问题。
  2. 再防火墙这是最容易解决也最常见的原因,优先排查。
  3. 后服务:确认服务器上的 RPC 服务都在正常工作。
  4. 最后高级:如果以上都无效,再考虑 DCOM 和系统文件问题。

对于普通用户来说,90% 的 “1722 RPC 服务器不可用” 错误都出在 防火墙规则服务器端 RPC 服务未启动 上,按照这个思路排查,通常都能找到问题所在。

分享:
扫描分享到社交APP
上一篇
下一篇