当我从远程 Windows 7 PC 查询已安装的服务时,速度非常慢。使用远程 Windows XP PC 时,速度总是很快。
例如,在我的 Windows 7 PC 上执行命令
sc \\pc1 query type= service
使用 Windows 7 远程 PC 需要 21 秒。使用 Windows XP 远程 PC 则立即完成。我可以用我们的任何一台 PC 重现此行为。使用其他工具(例如 Hyena)也会发生这种情况。有人知道是什么导致请求如此缓慢或如何使其像使用 Windows XP 一样立即完成吗?
答案1
经典的防火墙问题。
在 Windows 7/2008 上,Microsoft RPC 高端口默认为 tcp/49152 - tcp/65535。除非您指定了自定义 RPC 端口范围。
所讨论的特定 RPC 端点是服务控制管理器远程协议 (SCMR)。如果您在运行 sc 命令时运行数据包捕获,您将看到正在使用的端口。首先,它将连接到 tcp/135 以获取 SCMR 的 RPC 端点,然后尝试连接到 SCMR 通告的端口。
如果您想配置较小的端口范围,以下文章可能会有所帮助:
如何配置 RPC 动态端口分配以与防火墙配合使用
https://support.microsoft.com/kb/154596
项:HKLM\Software\Microsoft\Rpc\Internet\
值:Ports
值类型:REG_MULTI_SZ
Windows Vista/7/2008 中 TCP/IP 的默认动态端口范围已更改
https://support.microsoft.com/kb/929851
答案2
服务控制器使用动态 RPC 端口,该端口在与端口 135 上的 RPC 端点映射器通信后被识别,正如 Greg Askew 所提到的。可以将 Windows 防火墙配置为允许 RPC 动态端口通过,而无需任何注册表编辑或 RPC 重新配置:
打开高级安全 Windows 防火墙. 使用风俗类型。将其应用于所有程序. 在协议和端口页面,选择TCP作为协议和RPC 动态端口作为本地端口。将规则应用于任何源地址或本地接口,并且允许连接(或者如果连接安全,则允许连接如果您使用 IPsec)。 无需重启。
sc
现在从远程机器的速度非常快。
答案3
你尝试过其他工具吗?wmic /node:NAME service
例如powershell -command get-service -computername NAME
您是否已尝试在本地隔离该问题是否是本地计算机或网络问题?
沙查夫。