ASSOCIATORS OF 语句
ASSOCIATORS OF 语句检索与特定源实例关联的所有实例。 检索的实例称为终结点。 每个终结点的返回次数都与源对象之间存在关联。 例如,假设有 A、B、X 和 Y 实例。存在两个关联实例,一个链接 A 和 X,另一个链接 B 和 Y。以下查询返回单个终结点 X:
ASSOCIATORS OF {A}
但是,如果存在另一个关联链接 A 和 X,上述查询将返回两个 X 终结点。
ASSOCIATORS OF 语句的基本语法为:
ASSOCIATORS OF {ObjectPath}
请注意,大括号是语法的一部分。 任何有效的对象路径都可用于 ObjectPath。 对象路径中的标记不能包含任何空格。 例如,以下列表中的查询返回与指定逻辑磁盘关联的实例:
-
查询:
-
ASSOCIATORS OF {Win32_LogicalDisk.DeviceID="C:"}
-
结果:
-
Win32_Directory.Name="C:\\"
Win32_ComputerSystem.Name="mycomputer" Win32_DiskPartition.DeviceID="Disk #0, Partition #0"
与 SELECT 语句一样,ASSOCIATORS OF 语句可以包含 WHERE 子句,但 ASSOCIATORS OF 语句的 WHERE 子句与 SELECT 语句WHERE 子句大相径庭。
ASSOCIATORS OF 语句的 WHERE 子句 可以包含以下一个或多个预定义关键字及其值:
ASSOCIATORS OF {ObjectPath} WHERE
AssocClass = AssocClassName
ClassDefsOnly
RequiredAssocQualifier = QualifierName
RequiredQualifier = QualifierName
ResultClass = ClassName
ResultRole = PropertyName
Role = PropertyName
请注意,可选的子项不是用逗号分隔的。
AssocClass 关键字指示返回的终结点必须通过指定的类或其派生类之一与源相关联。 例如,以下列表中的查询仅返回通过 Win32_SystemDevices 关联类或其任何派生类与源关联的终结点:
-
查询:
-
ASSOCIATORS OF {Win32_LogicalDisk.DeviceID="C:"} WHERE AssocClass = Win32_SystemDevices
-
结果:
-
Win32_ComputerSystem.Name="mycomputer"
ClassDefsOnly 关键字指示子句返回类定义对象的结果集,而不是类的实际实例。 这些对象是终结点实例所属的类的定义。 例如,以下列表中的查询返回 Win32_Directory 和 Win32_ComputerSystem 类的定义:
-
查询:
-
ASSOCIATORS OF {Win32_LogicalDisk.DeviceID="C:"} WHERE ClassDefsOnly
-
结果:
-
Win32_Directory
Win32_ComputerSystem Win32_DiskPartition
ClassDefsOnly 和 ResultClass 关键字互斥。 将它们一起使用会导致查询错误无效。
RequiredAssocQualifier 关键字指示返回的终结点必须通过包含指定限定符的关联类与源对象关联。 这种类型的筛选用于消除广泛的终结点范围,除非终结点通过一组特定的标记关联类与目标相关联。 例如,如果关联类包含名为 关联的限定符,则以下列表中的查询将返回终结点实例。
-
查询:
-
ASSOCIATORS OF {Win32_LogicalDisk.DeviceID="C:"} WHERE RequiredAssocQualifier = Association
-
结果:
-
Win32_Directory.Name="C:\\"
Win32_ComputerSystem.Name="mycomputer" Win32_DiskPartition.DeviceID="Disk #0, Partition #0"
RequiredQualifier 关键字指示与源对象关联的返回终结点必须包含指定的限定符。 RequiredQualifier 关键字可用于在结果集中包括特定类型的实例。 例如,以下列表中的查询返回终结点实例,这些实例包含名为 区域设置的限定符。
-
查询:
-
ASSOCIATORS OF {Win32_LogicalDisk.DeviceID="C:"} WHERE RequiredQualifier = Locale
-
结果:
-
Win32_Directory.Name="C:\\"
Win32_ComputerSystem.Name="mycomputer" Win32_DiskPartition.DeviceID="Disk #0, Partition #0"
ResultClass 关键字指示与源对象关联的返回终结点必须属于或派生自指定类。 例如,以下列表中的查询返回从 CIM_Directory 类派生的终结点实例:
-
查询:
-
ASSOCIATORS OF {Win32_LogicalDisk.DeviceID="C:"} WHERE ResultClass = Cim_Directory
-
结果:
-
Win32_Directory.Name="C:\\"
ClassDefsOnly 和 ResultClass 关键字互斥。 将它们一起使用会导致查询错误无效。
ResultRole 关键字指示返回的终结点必须在与源对象的关联中扮演特定角色。 角色由指定属性定义,该角色是类型为 ref的引用属性。例如,ResultRole 关键字可用于检索与源对象关联的 GroupComponent 属性的所有终结点,如以下查询所示。
-
查询:
-
ASSOCIATORS OF {Win32_LogicalDisk.DeviceID="C:"} WHERE ResultRole = GroupComponent
-
结果:
-
Win32_ComputerSystem.Name="mycomputer"
Role 关键字指示返回的终结点参与与源对象(其中源对象扮演特定角色)的关联。 角色由指定属性定义,该角色是类型为 ref的引用属性。例如,Role 关键字可用于检索与具有 GroupComponent 属性的源对象关联的所有终结点,如以下查询所示。
-
查询:
-
ASSOCIATORS OF {Win32_LogicalDisk.DeviceID="C:"} WHERE Role = GroupComponent
-
结果:
-
Win32_Directory.Name="C:\\"
注意
复杂查询不能使用“And”或“Or”分隔 ASSOCIATORS OF 和 REFERENCES OF 语句的关键字。 此外,等号是可用于此类查询的唯一有效运算符。 例如,以下查询有效:
ASSOCIATORS OF {win32_LogicalDisk="C:"} WHERE resultClass = Win32_Directory requiredQualifier = Dynamic
注意
下一个示例无效。 第一个示例不使用等号,第二个示例错误地尝试使用 AND 关键字。
Associators of {win32_LogicalDisk="C:"} where resultClass = Win32_Directory requiredQualifier <> Dynamic
Associators of {win32_LogicalDisk="C:"} where resultClass = Win32_Directory AND requiredQualifier = Dynamic