Sdílet prostřednictvím


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