0

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

WQL 查询 Windows 8 或更高版本

SELECT Version FROM Win32_OperatingSystem WHERE Version >= '6.2'

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

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

4

3 回答 3

0

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

于 2013-04-30T23:50:06.540 回答
0

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

于 2013-05-02T09:45:13.980 回答
0

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

SELECT Version FROM Win32_OperatingSystem
WHERE NOT Version like "[12345].%"
  and NOT Version like "6.0.%"
  and NOT Version like "6.1.%"
于 2013-05-03T16:04:23.500 回答