HKLM注册表键值使用WQL访问



我正在尝试使用其产品代码访问应用程序版本。我们可以使用 -

来实现
(Get-ItemProperty -path 'HKLM:SOFTWAREMicrosoftWindowsCurrentVersionUninstall{EC542D5D-B608-4145-12F7-749C02B23494}').displayversion

其中EC542D5D-B608-4145-12F7-749C02B23494是产品代码。但是我必须将其写为WMI查询(SCCM所需)。SCUP不接受此查询。其他机制几乎没有其他机制,但是在获取版本方面没有任何作用。例子 - 1. PatchMYPC的目录使用"路径"属性,但就我而言,我需要从注册表中获取。因此

<bar:FileExists Path="7-Zip7zFM.exe" Csidl="38" />
              <bar:FileVersion Path="7-Zip7zFM.exe" Comparison="LessThan" Version="18.01.0.0" Csidl="38" />

因此,我无法使用注册表(HKLM Unsintall Path)获取版本,该版本也被接受。

ps win32_product类需要大量时间,因此可以避免。

,因为win32_product通常是避免SCCM引入其自己的类的类:

Win32Reg_AddRemovePrograms
Win32Reg_AddRemovePrograms64

应该可以查询像这样的人之一

select Version from Win32Reg_AddRemovePrograms where ProdID = '{EC542D5D-B608-4145-12F7-749C02B23494}'

SCUP使用wsus XML模式专门使用baseApplicabilityrules架构。您可以选择该页面上记录的任何类型。对于WMI查询,文件详细信息和注册表查询等不同方案,它们具有不同的规则。如果您正在寻找注册表的版本比较,则最佳选择是RegSzToVersion。根据您的问题,您将使用

之类的东西
<bar:RegSzToVersion Key="HKEY_LOCAL_MACHINE" Subkey="SOFTWAREMicrosoftWindowsCurrentVersionUninstall{EC542D5D-B608-4145-12F7-749C02B23494}" Value="DisplayVersion" RegType32="false" Comparison="LessThan" Data="1.0.0.0" />

比较可以是以下任何值

  • Lessthan
  • LessThanorequalto
  • 等于
  • 大塔诺尔塔尔托
  • 大塔

regtype32 是,默认情况下是false,因此如果选择,则可以将其排除在外。如果注册表密钥与32位输入相关联,请使用" WOW6432Node"路径将其归因于True或硬码。

data 属性是要与之比较的目标版本号(以标准的四部分版本编号格式)。

相关内容

  • 没有找到相关文章

最新更新