Windows 10:若何解决长途过程调用缺点和问题

2019-02-21

如果您收到RPC服务器不可用消息,则此帖子将显示如何解决windows10上的远程过程调用失败错误和问题.RPC或远程过程调用是一种基于网络的编程模型,它允许软件应用程序之间的点对点通信。 在本指南中,我们将分享如何解决远程过程调用错误。 连接到Windows Management Instrumentation(WMI),SQL Server,远程连接或某些Microsoft管理控制台(MMC)管理单元时,可能会发生错误。

远程过程调用错误疑难解答

“RPC服务器不可用”是最常见的问题之一。 这可能是一个简单的网络问题,或者服务器无法响应。 让我们看看我们可以用来解决远程过程调用错误的工具列表。 您可以使用PowerShell或具有管理员权限的命令提示符来运行这些命令。

您必须使用Microsoft网络监视器或Microsoft消息分析器来分析日志。

PortQuery

此工具可帮助您找出您尝试连接的端口的问题。 它可以确定您的应用程序或计算机是否可以连接到服务器。

  1. Portqry.exe -n <ServerIP> -e 135 

上面的命令尝试在给定服务器IP上查询TCP端口25。 如果您在此处使用网站,它将在内部转换为IP地址。 在输出中,查找* ip_tcp和端口号。 如果连接失败,您应该看到响应失败的响应。 如果一切正常,请在末尾查找端口号(标记为粗体)

….Server’s response: UUID: d95afe70-a6d5-4259-822e-2c84da1ddb0d ncacn_ip_tcp:169.254.0.10[49664]

如果您没有看到任何端口号,则表示服务器端出现问题,端口未侦听。

Netsh的

接下来,您可以使用Netsh命令收集同步跟踪数据。 TRACE在这里表示网络上从一个点到另一个点的路径。 如果有任何问题导致介于两者之间,你就会知道。

在客户端运行:

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

在服务器上运行:

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

上面的命令将日志保存在tracefile(.etl)中。 保持命令提示符的此窗口准备就绪。

现在尝试重现您在客户端计算机上遇到的问题。 您可能必须按下软件上的某些按钮或任何导致问题的按钮。 一旦看到问题,请在客户端计算机的命令提示符上运行Netsh跟踪停止。

现在使用分析器工具并过滤跟踪

--Ipv4.address ==和ipv4.address ==和tcp.port == 135或只是tcp.port == 135。

--此外,在“协议”列下查找“EPM”协议。

现在检查您是否从服务器获得响应。 如果收到响应,请记下您已分配使用的动态端口号。

--检查是否可以成功连接到此动态端口。

--过滤器应该是这样的:tcp.port ==和ipv4.address ==

它应该可以帮助您验证连接并隔离任何网络问题。

端口无法访问

我们看到RPC服务器不可用的最常见原因是客户端尝试连接的动态端口无法访问。 如果你看到之间的跟踪中断,返回端口没有发现错误,等等,那么可能是因为以下可能的原因

--防火墙已阻止动态端口范围。

--中间的路由器或网络设备正在丢弃数据包; 反应没有回来。

--目标服务器正在丢弃数据包(WFP丢弃/ NIC丢弃/过滤驱动程序等)。

Post无法访问问题的最佳做法是使用动态分配。 注册表允许管理员配置RPC动态端口分配。