遇到“选择用户或组时RPC服务器不可用”的报错,核心解决方法是先检查Remote Procedure Call (RPC) 服务是否已启动,然后排查防火墙是否拦截了RPC端口,最后确保网络发现功能开启且网络类型为“专用”。
RPC服务器不可用是什么原因
这个错误通常出现在Windows系统的权限设置窗口,比如你想给某个文件夹设置共享权限,点击“选择用户或组”时却弹出了RPC不可用的提示,RPC服务器是系统内部组件通信的桥梁,它的核心工作是让不同程序或不同电脑之间能互相发送指令。
主要触发原因有三个:
- RPC服务本身异常:系统优化或非正常关机可能导致RPC服务被关闭或启动类型被修改。
- 防火墙规则拦截:Windows Defender或其他第三方防火墙限制了RPC的动态端口范围,导致通信中断。
- 网络环境不匹配:电脑处于“公用”网络模式,或者网络发现功能被关闭,系统会限制RPC通信以保障安全。
第一步:检查并修复RPC核心服务
RPC服务是整套机制的基石,多数情况下,问题出在这里,你需要先确认这个服务是否在正常运行。
如何确认RPC服务状态
- 按下键盘上的 Win + R 键,输入
services.msc并回车,打开服务管理器。 - 在列表中寻找 Remote Procedure Call (RPC) 这个服务。
- 检查它的“状态”列是否为“正在运行”,“启动类型”是否为“自动”。
如果服务未运行
如果发现服务被停止,右键点击该服务,选择“启动”即可,如果启动类型不对,右键选择“属性”,在“常规”选项卡中将“启动类型”改为“自动”,然后点击“应用”和“确定”。参考2
注意: 还有一个名为 RPC Endpoint Mapper 的服务也需要处于“正在运行”和“自动”状态,它负责为RPC通信分配端口,很多win10 rpc服务器不可用解决方法都遗漏了这个细节。
如果服务无法启动
如果服务启动后立即停止,或者根本点不动,可能是系统文件受损,你可以尝试使用系统文件检查器进行修复:
- 以管理员身份运行命令提示符(右键点击开始菜单,选择“Windows PowerShell (管理员)”或“命令提示符 (管理员)”)。
- 输入命令:
sfc /scannow,等待扫描完成。 - 如果提示有损坏文件但无法修复,再输入:
DISM /Online /Cleanup-Image /RestoreHealth。
这两个命令可以修复绝大多数服务异常的问题,据统计,超过半数以上的RPC报错均能通过此方法解决。
第二步:排查防火墙规则是否拦截
防火墙是RPC故障的常见“背锅侠”,很多用户只关闭了防火墙,但问题依旧,这是因为RPC通信依赖一个动态端口范围,如果防火墙规则不健全,单纯的关闭并不能解决问题。参考2
检查Windows Defender防火墙
- 打开“控制面板”,点击“Windows Defender 防火墙”。
- 在左侧选择“允许应用或功能通过Windows Defender防火墙”。
- 点击“更改设置”,在列表中找到并勾选“远程协助”和“远程服务管理”,确保“专用”和“公用”的勾都打上。
- 如果没有找到,可以先重启防火墙服务,再回来检查。
终极方案:使用命令行恢复默认规则
如果上述方法无效,且你确定是防火墙规则混乱导致的问题,可以直接重置防火墙策略,这会清除所有自定义规则,但能解决深层冲突。
- 以管理员身份打开命令提示符。
- 输入命令:
netsh advfirewall reset。 - 输入命令:
netsh advfirewall set allprofiles state on。 - 重启电脑。
这个操作相当于给防火墙恢复了出厂设置,可以解决局域网rpc服务器不可用排查中遇到的顽固权限问题,重置后,你需要重新配置之前添加过的软件放行规则。
第三步:调整网络环境与发现功能
网络环境设置不当,会让系统误以为你在一个不安全的环境中,从而主动关闭RPC端口。
将网络配置文件改为专用
- 点击任务栏右下角的网络图标。
- 选择“属性”或“网络和Internet设置”。
- 找到“网络配置文件”,将其从“公用”更改为“专用”。
- 在“专用”网络环境下,系统会允许设备发现和文件共享,这是RPC通信的前提。
开启网络发现和文件共享
- 打开“控制面板”,进入“网络和共享中心”。
- 点击左侧的“更改高级共享设置”。
- 在“专用”网络中,选择“启用网络发现”和“启用文件和打印机共享”。
- 保存更改。
很多用户反馈,在完成上述操作并且重启电脑后,选择用户或组时rpc服务器不可用的提示就消失了,权限分配功能恢复正常。
第四步:处理特殊场景
如果问题发生在域环境或工作组环境中,排查思路会稍有不同。
域环境中的RPC故障
域环境下,RPC通信依赖DNS解析,你需要检查客户端能否正常解析域控制器的主机名,如果DNS解析失败,RPC就无法找到目标服务器,从而报错。
- 在客户端打开命令提示符,输入
nslookup 你的域名。 - 如果提示找不到主机,检查客户端的DNS服务器地址是否指向了域控制器。
工作组环境中的权限问题
工作组环境下,本地账户的权限冲突会导致RPC调用失败,你可以尝试使用具有管理员权限的账户进行操作,或者检查目标电脑的“本地安全策略”中,是否限制了“网络访问:本地账户的共享和安全模型”。
- 打开
secpol.msc,进入“本地策略” -> “安全选项”。 - 找到“网络访问:本地账户的共享和安全模型”,将其设置为“经典 – 对本地用户进行身份验证,不改变其本来身份”。
常见问题与解答
Q:我用的是win10系统,每次开机都提示rpc服务器不可用,但重启一次就好了,怎么彻底解决?
A:这说明RPC服务的启动依赖项出了问题,首先检查 Remote Procedure Call (RPC) 和 RPC Endpoint Mapper 这两个服务的“启动类型”是否为“自动”,如果已经是自动,检查它的依存关系,DCOM Server Process Launcher 服务也需要是“自动”且“已启动”,你可以打开服务列表,双击RPC服务,查看“依存关系”选项卡,确保所有依赖服务都已启动且设置为自动。
Q:局域网内访问其他电脑的共享文件夹,报错rpc服务器不可用,但本机操作没问题,该怎么办?
A:这种情况下,问题通常出在目标电脑上,请你去目标电脑上,按照上面提到的前三步逐一排查:检查目标电脑的RPC服务是否正常、防火墙是否放行了文件和打印机共享(端口445)、网络配置文件是否为“专用”,目标电脑上如果开启了快速启动(电源选项里),也可能导致网络服务加载不完全,建议关闭快速启动并重启目标电脑。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/532022.html



