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