WMI 查询检查 OSD 的 IP 默认网关

WMI 查询检查 OSD 的 IP 默认网关

我正在尝试为命令行添加一个条件,只有满足条件时才会运行该命令行。我使用 WMI 查询来执行此操作;

Select * From Win32_NetworkAdapterConfiguration Where DefaultIPGateway="192.168.1.1"

因此,如果此部署的网关已获得 192.168.1.1,它应该运行一个添加注册表设置的命令,如果不满足条件,它将跳过它。

更多信息:

  • 我已经有一个类似的命令可以运行,它查询 WMI 以获取主机名信息。如果主机名以 XXX% 开头(% 是通配符),它将部署该命令,否则它将跳过它。
    • 如果是某个网关,它应该运行命令
    • 这已经是一个实时任务序列,我只是想添加这个条件来获得 1 个大序列

欢迎任何帮助。谢谢

答案1

您正在寻找类似查询

SELECT * FROM WIN32_NETWORKADAPTERCONFIGURATION WHERE DEFAULTIPGATEWAY LIKE "192.168.1.1"

如果我理解正确的话,您需要运行一个任务序列步骤有条件的,这可以通过任务序列选项 WMI 查询来实现,这样只有当满足一个或所有条件时,该步骤才会运行。请参阅下面的示例查询。

WMI 查询条件示例

参考:

https://msdn.microsoft.com/en-us/library/Aa394217(v=VS.85).aspx

https://technet.microsoft.com/en-us/library/bb632701.aspx

答案2

对于那些正在寻找我所寻找的东西的人来说。这是我正在使用的 WMI 查询。我弄清楚了如何做到这一点。我在 DefaultIPGateway 中执行查询,但我应该查询 Win32_IP4RouteTable。

Select Mask,Destination,NextHop from Win32_IP4RouteTable WHERE ((Mask='0.0.0.0' AND Destination='0.0.0.0') AND (NextHop='10.0.0.1'))

因此 10.0.0.1 是示例网关。

我用它来检查我的序列中的步骤,以检查默认网关是否是这个,如果不是,它将跳过这一步。

相关内容