我正在尝试编写一个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:
不幸的是,无法在不同的组织股将计算机或用户分开。
一方面,WMI过滤器似乎是对新计算机进行过滤的最佳方法。
另一方面,通过SCCM更新Firefox的计算机可以很容易地包含在新参数中,而无需手动操作。
我尝试过这样的WQL请求:
SELECT * FROM Win32Reg_AddRemovePrograms
WHERE (DisplayName LIKE '%Firefox%') AND (Version LIKE '60.8.0%')我无法这样做,除非列出每个版本以排除/包含它们,因为Version似乎是一个字符串值,并且我不知道如何将其转换为整数或与字符拆分。
发布于 2019-07-31 10:14:39
我可以在一个WMI过滤器上定义多个查询,并且要记住,多次查询同一个WMI类会降低性能。
它似乎像描述这里那样起着作用和关系。
不幸的是它不能解决我的问题。
所以我开始使用WMI类运算符和不同的字符范围。就我而言:
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]%'))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]%'))https://stackoverflow.com/questions/56829614
复制相似问题