【问题标题】:WQL query for clients by minimum OS Version Number按最低操作系统版本号查询客户端的 WQL
【发布时间】:2013-04-30 23:45:36
【问题描述】:

假设我需要 WQL 查询来查找运行 Windows 8 或更高版本的客户端:

WQL 查询 Windows 8 或更高版本

SELECT Version FROM Win32_OperatingSystem WHERE Version >= '6.2'

你不会冒这个风险还包括版本 6.10(假设将来会有 6.10 之前的 7.0 版本的 Windows)?这不就是一个简单的字符串比较操作吗?

编写此查询以获得“预期”结果的最简洁方法是什么。

【问题讨论】:

    标签: wmi wmi-query wql


    【解决方案1】:

    用小数点分割版本号,然后在 where 子句中按两部分过滤

    【讨论】:

    • 谢谢!完全在 WQL 中如何做到这一点,或者您是否建议我用其他语言对 WQL 查询结果表进行后期处理?
    【解决方案2】:

    如果你可以检查Win32_OperatingSystem,那么你会发现Version是字符串数据类型。因此无法对其应用比较运算符。您可以在变量中选择它进行字符串操作或将其转换为浮点数据类型。

    【讨论】:

      【解决方案3】:

      一位同事向我提供了我非常喜欢的建议。与其尝试查询未知,不如过滤掉不正确的版本。确实没有很多不兼容的Windows版本。这将使查询看起来像:

      SELECT Version FROM Win32_OperatingSystem
      WHERE NOT Version like "[12345].%"
        and NOT Version like "6.0.%"
        and NOT Version like "6.1.%"
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-01-25
        • 1970-01-01
        • 1970-01-01
        • 2022-12-19
        • 2020-07-26
        • 1970-01-01
        • 2011-03-27
        • 1970-01-01
        相关资源
        最近更新 更多