通过最小操作系统版本号对客户端进行WQL查询

时间:2013-04-30 23:45:36

标签: wmi wmi-query wql

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

WQL查询Windows 8或更高版本

SELECT Version FROM Win32_OperatingSystem WHERE Version >= '6.2'

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

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

3 个答案:

答案 0 :(得分:0)

用小数点拆分版本号,然后在where子句

中按两个部分进行过滤

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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

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