首页资讯科技 该服务器不可操作

该服务器不可操作

俞木发了解RPC服务RPC是“Remote ProcedureCall”的简称,直译为“远程过程调用”,它是Windows为一个节点请求另一个节点提供的系统服务。比如在局域网中,客户端(以下简称为电脑A)要访问部署在服务端(以下简称为电脑B…

该服务器不可操作

玉木发

了解RPC服务

RPC是“Remote ProcedureCall”的缩写,直译为“远程过程调用”。它是Windows请求一个节点向另一个节点提供的系统服务。例如,在局域网中,客户端(以下称为计算机A)想要访问部署在服务器(以下称为计算机B)上的共享打印机。因为打印机没有安装在计算机A上,所以计算机A需要通过网络调用打印机。RPC的作用是表达调用的语义,传递调用的数据。如果系统提示RPC服务不可用,则计算机A无法成功访问打印机。RPC的连接过程如图所示(图2)。可以看出,在整个连接过程中,最容易导致RPC失败的五个环节分别是系统服务、通信协议、防火墙、远程服务器和A、b计算机的本地网络状态,解决RPC不可用的问题

如上所述,我们知道导致RPC连接问题的五个主要链接。这里主要介绍针对这些环节的相应解决方案。

1系统服务状态检测

Windows中的RPC连接由“远程过程调用(RPC)”服务提供,与“RPC端点映射器”、“DCOM服务器进程启动器”等服务相关。因此,当RPC服务不可用时,我们需要先检查上述三个服务在计算机A和计算机B中的状态。在任务栏的搜索框中输入“services.msc”启动服务组件,找到上述三个服务(需要同时检测计算机A和B),然后将其启动状态设置为“自动”,启动这些服务(图3)。

2通信协议状态检测

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

3防火墙状态检测

如图2的流程图所示,当计算机A发起远程连接,计算机B返回连接请求时,RPC服务必须通过防火墙。如果您的计算机的防火墙限制某些端口,也会导致RPC服务不可用。比如常规的RPC服务需要TCP/135端口连接,可以通过PowerShell命令检测端口连接状态。以管理员身份启动PowerShell后,输入并执行“ipconfig”命令,在窗口中记住这台电脑的IP地址,假设电脑A的地址为“192.168.1.5”。继续执行“测试网连接192 . 168 . 1 . 5-端口135”命令进行检测。这里,确保“TcpTestSucceeded”状态显示为“True”(表示端口135可以成功连接)(图5)。

如果上述状态为“假”(表示端口135不可用),那么我们需要检查计算机A的防火墙规则(主要检测出站规则)和计算机B的防火墙规则(主要检查入站规则)。以检查计算机B的入站规则为例。在桌面任务栏搜索框中输入“高级安全”,启动“高级安全Windows Defender防火墙”,在左窗格中切换到“入站规则”,然后在右窗格中勾选“运行”状态为“阻塞”的规则,打开相应的规则,切换到“协议和端口”,查看是否有阻塞TCP/135端口的设置。“对计算机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是否已经开机等。

如图2的流程图所示,当进行RPC连接时,计算机A需要从远程计算机B获得响应。如果计算机B有网络问题,RPC将不可用。计算机A和B之间的网络互通可以通过Ping命令来测试。例如,已知先前连接的计算机B的IP地址是192.168.1.6。在计算机A上启动命令提示符后,输入并执行“ping 192.168.1.6”。如果显示“无法访问目标主机”,则计算机A和B的网络打印机之间的线路被阻塞(图7)。此时,需要测试计算机A和B的网络设置..比如可以分别Ping电脑C和电脑A、B,判断电脑A、B和其他局域网电脑的网络是否有问题,然后进行相应的检测;检查电脑A和B的IP是否在同一个网段,子网掩码是否相同。如果没有,进行相应的设置;检查计算机A和B防火墙的设置,如有必要,关闭防火墙,然后测试连接;检查电脑B是否已开机等。

5计算机局域网状态检测

如上所述,RPC为节点之间的网络访问提供服务。如果本地计算机的网络有问题,RPC服务将不可用。如果上述方法都没有问题,比如电脑A可以Ping电脑B,但是问题依然存在,那么可能是电脑A本地DNS缓存的问题。您可以在命令提示符窗口中继续执行“ipconfig/flushdns”命令(清除空本地dns缓存)。如果最近在RPC服务器上运行的计算机B的名称已经更改,可以在计算机B上执行“ipconfig/registerdns”命令,并在active directory DNS中重新注册,一般可以解决问题(图8)。

本文来自网络,不代表管理窝立场。转载请注明出处: https://www.guanliwo.com/a/zx/63313.html
上一篇任务计划程序删除后恢复
下一篇 沙盒运行程序
管理窝

作者: 管理窝

这里可以再内容模板定义一些文字和说明,也可以调用对应作者的简介!或者做一些网站的描述之类的文字或者HTML!

为您推荐

评论列表()

    联系我们

    联系我们

    0898-88888888

    在线咨询: QQ交谈

    邮箱: email@wangzhan.com

    工作时间:周一至周五,9:00-17:30,节假日休息

    关注微信
    微信扫一扫关注我们

    微信扫一扫关注我们

    关注微博
    返回顶部