首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WMI筛选器以排除/包含应用程序的特定版本

WMI筛选器以排除/包含应用程序的特定版本
EN

Stack Overflow用户
提问于 2019-07-01 03:08:40
回答 1查看 1.3K关注 0票数 0

我正在尝试编写一个WQL查询,以过滤特定软件的版本: Firefox.上的计算机。

我希望在GPO上使用这个WMI过滤器来检查该版本是更早的还是等于还是高于特定的版本: 60.8.0.0 esr。

的目标是将有旧版本的计算机和用户与新的分开。

的数百台计算机在几天内被重新安装,最后一个版本是68.0 esr。使用SCCM,可以很容易地使用最新版本的68 our执行特定产品(如Firefox )的干净安装,并阻止另一个产品的升级。拥有较早版本的计算机的最新版本为60.7.0.2。也有其他较旧的版本。

实际上,一些参数和自制脚本用于通过组策略配置浏览器(计算机和用户范围),有些参数似乎不起作用。我必须选择一个版本来应用Mozilla的官方ADMX。从上一个版本开始,firefox.exe就能够直接读取在GPO中编辑并存储在HKLM/SOFTWARE/Policies/Firefox中的注册表策略。

在我的例子中,我必须处理2种Firefox:

  • 具有简单的新GPO (计算机范围)的新计算机
  • 具有GPO (用户和计算机范围)的旧计算机,它用自制脚本复制一些文件。

不幸的是,无法在不同的组织股将计算机或用户分开。

一方面,WMI过滤器似乎是对新计算机进行过滤的最佳方法。

另一方面,通过SCCM更新Firefox的计算机可以很容易地包含在新参数中,而无需手动操作。

我尝试过这样的WQL请求:

代码语言:javascript
复制
SELECT * FROM Win32Reg_AddRemovePrograms
WHERE (DisplayName LIKE '%Firefox%') AND (Version LIKE '60.8.0%')

我无法这样做,除非列出每个版本以排除/包含它们,因为Version似乎是一个字符串值,并且我不知道如何将其转换为整数或与字符拆分。

EN

回答 1

Stack Overflow用户

发布于 2019-07-31 10:14:39

我可以在一个WMI过滤器上定义多个查询,并且要记住,多次查询同一个WMI类会降低性能。

它似乎像描述这里那样起着作用和关系。

不幸的是它不能解决我的问题。

所以我开始使用WMI类运算符和不同的字符范围。就我而言:

  • 具有较新版本Firefox ESR的新计算机(旧版本超过68.0)
代码语言:javascript
复制
SELECT DisplayName, Version
  FROM Win32Reg_AddRemovePrograms
 WHERE (DisplayName LIKE '%Firefox%')
   AND ((NOT Version LIKE '[0-5][0-9].[0-9]%') 
   AND (NOT Version LIKE '6[0-7].[0-9]%'))
  • 具有较新版本Firefox ESR的旧计算机(大于68.0)
代码语言:javascript
复制
SELECT DisplayName, Version 
  FROM Win32Reg_AddRemovePrograms 
 WHERE (DisplayName LIKE '%Firefox%') 
   AND ((Version LIKE '[0-5][0-9].[0-9]%') OR (Version LIKE '6[0-7].[0-9]%'))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56829614

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档