0

WMI 查询从 135 端口运行(从谷歌告诉我的)。尝试执行 WMI 查询时可以指定不同的端口吗?

或者,您可以使用 system.managment.managementScope 对象并在连接时指定端口吗?或许是这样的:

\\computername:port\root\cimv2\

如果这两个问题的答案都是“否”,那么您能否以不同的方式连接并在连接后运行 wmi 查询?

这个问题的原因:

我有一个混合环境,我需要查询防火墙后面的一些服务器。我无法为 WMI 查询指定超时值,因此我需要一种无需新防火墙规则即可连接到这些框的方法。

4

1 回答 1

2

WMI 使用 135 端口进行协商,然后 DCOM 在 1024 和 65535 之间选择一个随机端口。很难找到一个固定端口。对防火墙不太友好...

正如 Jeff 的评论,上面说你必须告诉你正在连接的机器,以限制它使用的端口。

在 Windows Server 2003 中,您无法限制选择的端口,因此对于那些我在该服务器上运行我的脚本,然后将结果推送回已知端口。我的脚本使用标准 SQL 端口,因为所有信息都存储在数据库中。

对于 windows server 2008 R2,您可以限制它使用的端口,这可以通过在每台服务器上运行以下命令来完成;

  1. 在命令提示符下,键入winmgmt -standalonehost
  2. 通过键入命令net stop "Windows Management Instrumentation"停止 WMI 服务
  3. 通过键入net start "Windows Management Instrumentation"在新的服务主机中重新启动 WMI 服务
  4. 通过键入netsh firewall add portopening TCP 24158 WMIFixedPort为 WMI 服务建立一个新的端口号

可以在此处找到步骤和更多信息(正如 Jeff 给出的那样): 为 WMI 设置固定端口

它不是最好的解决方案,但我知道的唯一一个,我已经为大型服务器环境构建脚本很长时间了。我一直处理它的方式是在每个位置(DMZ 等)都有一个脚本,然后将数据推回已知端口。

希望这个对你有帮助。

于 2013-06-22T21:24:39.067 回答