06
2024
02
17:26:26

rpc服务器太忙共享文件,解决“RPC服务器不可用”的难题

RPC服务太忙导致无法完成操作时,可以尝试以下解决方案

  1. 检查RPC是否已经开启:

    • 打开“计算机管理”窗口,点击“服务与应用程序”->“服务”。

    • 找到“Remote Procedure Call (RPC)”服务,确认其状态为“自动”或启用了吗?如果没有启用,请将其启用。12

  1. 重启RPC服务:

    • 如果RPC服务未启动,可以通过“开始”菜单进入“设置”,找到“控制面板”,然后找到“管理工具”下的“服务”,双击打开“Remote Procedure Call (RPC)”,在“启动类型”中选择“自动”,点击确定,并重启电脑。2

  1. 检查其他相关服务:

    • RPC服务依赖于“RPC Endpoint Mapper”、“DCOM Server Process Launcher”等其他服务。确保这些服务的启动状态也设置为“自动”。3

  1. 检查网络设置:

    • 使用“以太网设置”工具检查本地以太网卡的网络协议状态,确保“Microsoft网络的文件和打印机共享”和“Internet Protocol version 6 (TCP/IPv6)”都已被激活。

  2. 检查防火状态:

    • RPC服务在使用过程中会通过防火墙。确保防火墙没有对RPC服务的必要端口(如TCP/135)进行限制。

  3. 杀毒软件清理:

    • 使用杀毒软件彻底清除可能的病毒或其他恶意软件,然后再进行以上步骤。1

  1. 重置网络设置:

    • 如果问题依旧存在,可以考虑将网络设备重置到出厂默认设置,但此操作可能会影响网络连接和其他设备的使用,因此在操作前应谨慎考虑。




d386205e0e5dea4b73f1effc0adbdd0d.png

了解RPC服务

RPC是“Remote ProcedureCall”的简称,直译为“远程过程调用”,它是Windows为一个节点请求另一个节点提供的系统服务。比如在局域网中,客户端(以下简称为电脑A)要访问部署在服务端(以下简称为电脑B)的共享打印机。由于打印机没有安装在电脑A上,因此电脑A对打印机的访问就需要通过网络调用,RPC的作用就是用来表达调用的语义和传达调用的数据。如果系统提示RPC服务不可用,那么电脑A就无法成功访问打印机了。RPC的连接流程如图所示(图2),可以看到在整个连接过程中,最容易导致RPC故障的主要就是系统服务、通信协议、防火墙、远程服务端以及电脑A、B本地网络状态这五个环节。

解决RPC不可用的问题

如上所述,我们知道了产生RPC连接问题的五个主要环节。下面我们就主要针对这些环节介绍相应的解决方案。

1系统服务状态检测

Windows中的RPC连接是通过“Remote Procedure Call(RPC)”服务提供的,该服务又和“RPC Endpoint Mapper”、“DCOM Server Process Launcher”等服务相关联。因此,在遇到RPC服务不可用时,我们需要先对电脑A和电脑B中的上述三个服务的状态进行检测。在任务栏的搜索框中输入“services.msc”启动服务组件,找到上述三个服务(需要同时检测电脑A和B),然后将它们的启动状态均设置为“自动”,并启动这些服务(图3)。

2通信协议状态检测

RPC服务使用的网络通信协议主要是本机以太網的“Microsoft网络的文件和打印机共享”和“Internet协议版本6(TCP/IPv6)”。如果服务状态检测没有问题,那么可以在任务栏的搜索框中输入“以太网设置”(需要检测电脑A和B),然后依次执行“更改适配器选项→选中本机网卡→右击选择属性”,在打开的窗口中确保上述两个项目前的复选框均已勾选,最后点击“确定”保存并退出(图4)。

3防火墙状态检测

如图2的流程所示,RPC服务在电脑A发起远程连接,以及电脑B返回连接请求的时候都要通过防火墙。如果电脑的防火墙对一些端口进行了限制,那么也会导致RPC服务不可用。比如常规的RPC服务需要用到TCP/135端口连接,端口连接状态可以使用PowerShell命令进行检测。以管理员身份启动PowerShell后输入并执行“ipconfig”命令,在窗口中记住本机的IP地址,假设电脑A的地址是“192.168.1.5”。继续执行“Test-NetConnection 192.168.1.5-port 135”命令进行检测,这里确保“TcpTestSucceeded”状态显示为“True”(表示可以成功连接135端口)(图5)。

如果上述状态显示为“False”(表示135端口不可用),那么我们就需要对电脑A(主要检测出站规则)和电脑B(主要检查入站规则)的防火墙规则进行检查。以检查电脑B的入站规则为例,在桌面任务栏的搜索框中输入“高级安全”,启动“高级安全Windows Defender防火墙”,在左侧的窗格中切换到“入站规则”,然后在右侧的窗格中检查“操作”状态为“阻止”的规则,打开相应的规则后切换到“协议和端口”,查看是否有阻止TCP/135端口的设置,如有则将该规则删除即可(图6)。电脑A的出站规则的检测类似。

4远程电脑状态检测

如图2的流程所示,电脑A在进行RPC连接时需要得到远程电脑B的响应,如果电脑B的网络出现问题也会导致RPC不可用。电脑A、B之间网络互通可以通过Ping命令来测试,比如已经知道之前连接的电脑B的IP地址是192.168.1.6,在电脑A上启动命令提示符后输入并执行“ping 192.168.1.6”,如果显示“无法访问目标主机”,那么说明电脑A与B的网络打印机之间线路不通(图7)。此时就需要对电脑A、B的网络设置进行检测。比如可以用电脑A、B分别Ping电脑C,以确定电脑A、B和其他局域网电脑的网络是否有问题,然后再进行对应的检测;检查电脑A、B的IP是否处在同一网段,还有子网掩码是否相同,如果不一致,进行对应的设置;检查电脑A、B防火墙的设置,必要时关闭防火墙再连接测试;检查电脑B是否已经开机等。

eba31306ae00bed48d076a1bba7f566d.png

5电脑本地网络状态检测

如上所述,RPC是为节点之间的网络访问提供服务,如果本地电脑的网络状况出现问题,也会导致RPC服务不可用。如果使用上述介绍的方法进行检测均没有问题,比如电脑A可以Ping通电脑B,但是问题依旧,那么可能是电脑A本地DNS缓存的问题。可以在命令提示符窗口中继续执行“ipconfig/flushdns”命令(清空本地DNS缓存)。如果RPC服务器上运行的电脑B的名称最近做过更改,那么可以在电脑B上执行“ipconfig/registerdns”命令,将其重新注册到活动目录DNS中,这样一般可以解决问题(图8)。




推荐本站淘宝优惠价购买喜欢的宝贝:

image.png

本文链接:https://hqyman.cn/post/5125.html 非本站原创文章欢迎转载,原创文章需保留本站地址!

分享到:
打赏





休息一下~~


« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

请先 登录 再评论,若不是会员请先 注册

您的IP地址是: