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關鍵字表示傳回的端點必須透過包含指定限定詞的關聯類別,與來源物件相關聯。 除非端點是透過一組特定的標記關聯類別,與目標相關聯,否則此類型的篩選是用來消除廣泛的端點。 例如,如果關聯類別包含名為 Association的限定詞,下列清單中的查詢會傳回端點實例。
-
查詢:
-
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關鍵字可用來在結果集中包含特定類型的實例。 例如,下列清單中的查詢會傳回端點實例,其中包含名為 Locale的限定詞。
-
查詢:
-
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