ASSOCIATORS OF – příkaz
Příkaz ASSOCIATORS OF načte všechny instance přidružené ke konkrétní zdrojové instanci. Načtené instance se označují jako koncové body. Každý koncový bod se vrátí tolikrát, kolikrát mezi ním existují přidružení a zdrojový objekt. Předpokládejme například, že existují instance A, B, X a Y. Existují dvě instance přidružení, jedna, která propojuje A a X a druhou, která propojuje B a Y. Následující dotaz vrátí jeden koncový bod X:
ASSOCIATORS OF {A}
Pokud ale existuje další propojení A a X, výše uvedený dotaz vrátí dva koncové body X.
Základní syntaxe příkazu ASSOCIATORS OF je:
ASSOCIATORS OF {ObjectPath}
Všimněte si, že složené závorky jsou součástí syntaxe. Pro ObjectPath lze použít jakoukoli platnou cestu k objektu. Tokeny v cestě k objektu nesmí obsahovat žádné prázdné znaky. Například dotaz v následujícím seznamu vrátí instance, které jsou přidružené k zadanému logickému disku:
-
dotaz :
-
ASSOCIATORS OF {Win32_LogicalDisk.DeviceID="C:"}
-
výsledky:
-
Win32_Directory.Name="C:\\"
Win32_ComputerSystem.Name="mycomputer" Win32_DiskPartition.DeviceID="Disk #0, Partition #0"
Stejně jako u příkazu SELECTmůže příkaz ASSOCIATORS OF obsahovat klauzuli WHERE, ale klauzule WHERE pro příkaz ASSOCIATORS OF se velmi liší od klauzule SELECT statementWHERE.
Klauzule WHERE příkazu ASSOCIATORS OF může obsahovat jedno nebo více následujících předdefinovaných klíčových slov a jejich hodnot:
ASSOCIATORS OF {ObjectPath} WHERE
AssocClass = AssocClassName
ClassDefsOnly
RequiredAssocQualifier = QualifierName
RequiredQualifier = QualifierName
ResultClass = ClassName
ResultRole = PropertyName
Role = PropertyName
Všimněte si, že volitelné dílčí seznamy nejsou oddělené čárkami.
Klíčové slovo AssocClass označuje, že vrácené koncové body musí být přidružené ke zdroji prostřednictvím zadané třídy nebo jedné z jeho odvozených tříd. Například dotaz v následujícím seznamu vrátí pouze koncové body, které jsou přidružené ke zdroji prostřednictvím třídy přidružení Win32_SystemDevices nebo jakékoli z jeho odvozených tříd:
-
dotaz :
-
ASSOCIATORS OF {Win32_LogicalDisk.DeviceID="C:"} WHERE AssocClass = Win32_SystemDevices
-
výsledky:
-
Win32_ComputerSystem.Name="mycomputer"
ClassDefsOnly klíčové slovo indikuje, že klauzule vrátí sadu výsledků definičních objektů třídy, nikoli skutečné instance tříd. Tyto objekty jsou definice tříd, ke kterým instance koncového bodu patří. Například dotaz v následujícím seznamu vrátí definice pro Win32_Directory a třídy Win32_ComputerSystem:
-
dotaz :
-
ASSOCIATORS OF {Win32_LogicalDisk.DeviceID="C:"} WHERE ClassDefsOnly
-
výsledky:
-
Win32_Directory
Win32_ComputerSystem Win32_DiskPartition
Klíčová slova ClassDefsOnly a ResultClass se vzájemně vylučují. Když je použijete společně, dojde k chybě neplatného dotazu.
Klíčové slovo RequiredAssocQualifier označuje, že vrácené koncové body musí být přidruženy ke zdrojovému objektu prostřednictvím třídy přidružení, která zahrnuje zadaný kvalifikátor. Tento typ filtrování se používá k odstranění širokého rozsahu koncových bodů, pokud nejsou koncové body přidružené k cíli prostřednictvím konkrétní sady označených tříd přidružení. Například dotaz v následujícím seznamu vrátí instance koncového bodu, pokud třída přidružení obsahuje kvalifikátor s názvem Association.
-
dotaz :
-
ASSOCIATORS OF {Win32_LogicalDisk.DeviceID="C:"} WHERE RequiredAssocQualifier = Association
-
výsledky:
-
Win32_Directory.Name="C:\\"
Win32_ComputerSystem.Name="mycomputer" Win32_DiskPartition.DeviceID="Disk #0, Partition #0"
Klíčové slovo RequiredQualifier označuje, že vrácené koncové body přidružené ke zdrojovému objektu musí obsahovat zadaný kvalifikátor. Klíčové slovo RequiredQualifier lze použít k zahrnutí konkrétních typů instancí do sady výsledků. Například dotaz v následujícím seznamu vrátí instance koncových bodů, které obsahují kvalifikátor s názvem národní prostředí.
-
dotaz :
-
ASSOCIATORS OF {Win32_LogicalDisk.DeviceID="C:"} WHERE RequiredQualifier = Locale
-
výsledky:
-
Win32_Directory.Name="C:\\"
Win32_ComputerSystem.Name="mycomputer" Win32_DiskPartition.DeviceID="Disk #0, Partition #0"
Klíčové slovo ResultClass označuje, že vrácené koncové body přidružené ke zdrojovému objektu musí patřit nebo být odvozeny ze zadané třídy. Například dotaz v následujícím seznamu vrátí instance koncových bodů odvozené z třídy CIM_Directory:
-
dotaz :
-
ASSOCIATORS OF {Win32_LogicalDisk.DeviceID="C:"} WHERE ResultClass = Cim_Directory
-
výsledky:
-
Win32_Directory.Name="C:\\"
Klíčová slova ClassDefsOnly a ResultClass se vzájemně vylučují. Když je použijete společně, dojde k chybě neplatného dotazu.
Klíčové slovo ResultRole označuje, že vrácené koncové body musí hrát určitou roli v jejich přidružení ke zdrojovému objektu. Role je definována zadanou vlastností, odkaz vlastnost typu ref. Například klíčové slovo ResultRole lze použít k načtení všech koncových bodů, které mají vlastnost GroupComponent ve spojení se zdrojovým objektem, jak ukazuje následující dotaz.
-
dotaz :
-
ASSOCIATORS OF {Win32_LogicalDisk.DeviceID="C:"} WHERE ResultRole = GroupComponent
-
výsledky:
-
Win32_ComputerSystem.Name="mycomputer"
Klíčové slovo Role označuje, že vrácené koncové body se účastní přidružení ke zdrojovému objektu, kde zdrojový objekt hraje určitou roli. Role je definována zadanou vlastností, odkaz vlastnost typu ref. Například klíčové slovo Role lze použít k načtení všech koncových bodů přidružených ke zdrojovému objektu, který má vlastnost GroupComponent, jak ukazuje následující dotaz.
-
dotaz :
-
ASSOCIATORS OF {Win32_LogicalDisk.DeviceID="C:"} WHERE Role = GroupComponent
-
výsledky:
-
Win32_Directory.Name="C:\\"
Poznámka
Složité dotazy nemůžou používat k oddělení klíčových slov pro asociátory ASSOCIATORS OF a REFERENCE OF příkazů. Znaménko rovná se navíc je jediným platným operátorem, který lze v takových dotazech použít. Například následující dotaz je platný:
ASSOCIATORS OF {win32_LogicalDisk="C:"} WHERE resultClass = Win32_Directory requiredQualifier = Dynamic
Poznámka
Následující příklady nejsou platné. První příklad nepoužívá rovnítko a druhý příklad se chybně pokusí použít klíčové slovo AND.
Associators of {win32_LogicalDisk="C:"} where resultClass = Win32_Directory requiredQualifier <> Dynamic
Associators of {win32_LogicalDisk="C:"} where resultClass = Win32_Directory AND requiredQualifier = Dynamic