Configuration Manager特殊查询

扩展 WMI 查询语言 (WQL) 支持特定于Configuration Manager需求的查询。 下表介绍了支持的其他查询。

Array 属性
数组属性中的特定值。

基类
基类中存在的属性值。

原型
类定义,而不是类数据。

集合限制
特定于特定集合的数据。

数组属性查询

由于数组属性的性质,将它们包含在扩展的 WQL 查询中可能有点复杂。 例如, SMS_R_System 请考虑包含 属性的 IPAddresses 类。 属性 IPAddresses 是包含一个或多个单独地址的数组。 若要查询具有 IP 地址的计算机,可以指定以下两个查询之一。

SELECT * FROM SMS_R_System WHERE IPAddresses = “2.2.2.2”

SELECT * FROM SMS_R_SYSTEM WHERE IPAddresses in (“1.1.1.1”、“2.2.2.2”)

基类查询

基类上的扩展 WQL 查询从所有子类返回实例。 对于抽象基类查询,返回的实例始终是派生类的实例。 例如,以下查询从 和 SMS_SCI_AddressSMS_SCI_Component类返回实例,这些类继承自 SMS_SiteControlItem的属性。

SELECT * FROM SMS_SiteControlItem WHERE Sitecode="ABC"

原型查询

扩展 WQL 允许请求结果集包含要返回的类的定义,而不是类的实际实例。 这种类型的查询有两种可能的结果。 在大多数情况下,原型查询返回包含定义的类对象。 如果查询是 SELECT 语句中具有多个类的 JOIN 操作,则原型查询将返回 __Generic 类的实例。

尽管原型查询在处理 JOIN 操作的结果时最有用,但所有查询都支持它们。 若要请求类定义作为结果集,请将 lFlags 中的 IWbemServices::ExecQueryIWbemServices::ExecQueryAsync 参数设置为 WBEM_FLAG_PROTOTYPE。

集合限制查询

Configuration Manager集合是一组资源,例如计算机和用户。 扩展 WQL 支持针对特定集合的查询。 有两种方法可用于将查询限制为特定集合:

将 LimitToCollectionIDs 上下文值设置为所需的 CollectionID 值。 此上下文值通过 方法中的 IWbemServices::ExecQuery IWbemContext 指针提供,指向集合名称。

使用 SMS_CollectionMember传递给 ExecQuery 的查询中的 派生类指定内部 JOIN 操作。

第二种方法较慢,但如果使用使用 WMI ODBC 适配器的应用程序,则唯一可能的方法。

另请参阅

Configuration Manager关联类
Configuration Manager位字段属性
Configuration Manager日期和时间格式
Configuration Manager嵌入对象
Configuration Manager扩展 WMI 查询语言
对象概述Configuration Manager延迟属性
关于错误Configuration Manager对象安全性