InstalledSoftwareSet
表示一组已安装的软件。用于唯一标识已安装应用程序的“项”是特定于平台的,但它通常是应用程序名称或唯一数值的速记版本。
在 Windows 上,“项”可以是具有特定含义的内容(如 "FogBugz Screenshot_is1"),也可以是 GUID(如
"{90110409-6000-11D3-8CFE-0150048383C9}")。您可以通过查看 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall 的子项来检查以上信息
在 Linux 上,key 是 RPM 软件包名称,如以下命令所示:
rpm -qa --qf "%{NAME}\n"
在 Solaris 上,key 是软件包名称,如 pkginfo 命令所示。
在 HPUX 上,key 是应用程序名称,如以下命令所示:
/usr/sbin/swlist -a name
标记属性
这些是标记本身的 XML 属性,而不是启用了完整性监控的计算机的属性。
属性 | 描述 | 必需 | 缺省值 | 允许值 |
onChange | 将受实时监控 | 否 | false | true、false |
实体集属性
以下是可由完整性监控规则监控的实体的属性。是否存在这些属性取决于平台和应用程序本身,安装程序没有必要填充所有的属性。
- Manufacturer:应用程序的出版商和制造商
- Name:应用程序的友好名称或显示名称。(不适用于 Linux。)
- InstalledDate:安装日期。(不适用于 AIX)正常情况下,此日期格式为 YYYY-MM-DD [HH:MM:SS],但 Windows 上的许多安装程序会以另外一种方式设置日期字符串格式,所以不保证一定是此格式。
- InstallLocation:安装应用程序的目录。(仅适用于 Windows、Solaris 和 HPUX)
- Parent:对于 Patch 和更新,此属性给出了该项的父项的项名称。仅适用于 Windows。
- Size:估计的应用程序大小(如果可用)。在 Windows 上,此属性是从 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\* 下的 "EstimatedSize" 注册表值中读取的。此位置中的值以 KB 表示,因此在返回此值之前客户端会将其乘以 1024。注意,并不是所有的 Windows 应用程序都会填充注册表中的 EstimatedSize 文本框。(此属性不适用于 AIX。)
- Version:已安装的应用程序的版本。在 Windows 上,可从 "DisplayVersion" 注册表值中获知版本。
速记属性
以下是实体的速记属性及其要解析为的属性
- STANDARD:InstalledDate、Name、Version
"Key" 的含义
Key 是已安装软件的名称。这并不是层次结构键,因此 ** 模式并不适用。在 Windows 上,key 通常是 GUID,尤其是对于通过 Windows 安装程序(又称为 MSI)安装的软件。如果需要根据显示名称而非 GUID 来执行包含或排除,请使用 name="XXX" 功能。
以下示例将监控新软件的添加和删除情况。
<InstalledSoftwareSet>
<include key="*"/>
<attributes/>
</InstalledSoftwareSet>
子元素
- Include
- Exclude
有关包括和排除及其允许属性和子元素的一般描述,请参阅完整性监控规则语言。此处仅包含与该 EntitySet 类相关的包含和排除的特定信息。
InstalledSoftwareSet 的包含和排除特殊属性:
name(仅限 Windows)
允许在应用程序显示名称(实体的 "name" 属性)中使用 ? 和 * 通配符匹配。例如:
<InstalledSoftwareSet>
<include name="Microsoft*"/>
<InstalledSoftwareSet>
将匹配显示名称(如“控制面板”所示)以 "Microsoft" 开头的所有已安装应用程序。
manufacturer
允许在应用程序的出版商或制造商中使用 ? 和 * 通配符匹配。例如:
<InstalledSoftwareSet>
<include manufacturer="* Company "/>
<InstalledSoftwareSet>
将匹配制造商以 "Company" 结尾的所有已安装应用程序。