Megosztás a következőn keresztül:


ASSOCIATORS OF Statement

Az ASSOCIATORS OF utasítás lekéri az adott forráspéldányhoz társított összes példányt. A lekért példányokat végpontoknak nevezzük. A rendszer minden végpontot annyiszor ad vissza, mint amennyi társítás van közötte és a forrásobjektum között. Tegyük fel például, hogy vannak A, B, X és Y példányok. Két társításpéldány létezik, az egyik az A és az X, a másik pedig a B és az Y összekapcsolása. A következő lekérdezés az X végpontot adja vissza:

ASSOCIATORS OF {A}

Ha azonban egy másik társítás összekapcsolja az A-t és az X-et, a fenti lekérdezés két X végpontot ad vissza.

Az ASSOCIATORS OF utasítás alapszintaxisa:

ASSOCIATORS OF {ObjectPath}

Vegye figyelembe, hogy a zárójelek a szintaxis részét képezik. Az ObjectPath bármely érvényes objektumútvonal használható. Az objektum elérési útjának jogkivonatai nem tartalmazhatnak szóközt. Az alábbi listában szereplő lekérdezés például a megadott logikai lemezhez társított példányokat adja vissza:

lekérdezés:

ASSOCIATORS OF {Win32_LogicalDisk.DeviceID="C:"}

eredmények:

Win32_Directory.Name="C:\\"
Win32_ComputerSystem.Name="mycomputer"
Win32_DiskPartition.DeviceID="Disk #0, Partition #0"

A SELECT utasításesetén az ASSOCIATORS OF utasítás tartalmazhat egy WHERE záradékot, de az ASSOCIATORS OF utasítás WHERE záradéka nagyon eltér a SELECT utasításWHERE záradékától.

Az ASSOCIATORS OF utasítás WHERE záradéka az alábbi előre definiált kulcsszavak közül egy vagy többet tartalmazhat:

ASSOCIATORS OF {ObjectPath} WHERE
    AssocClass = AssocClassName
    ClassDefsOnly
    RequiredAssocQualifier = QualifierName
    RequiredQualifier = QualifierName
    ResultClass = ClassName
    ResultRole = PropertyName
    Role = PropertyName

Vegye figyelembe, hogy az opcionális alklámokat nem vesszők választják el egymástól.

Az AssocClass kulcsszó azt jelzi, hogy a visszaadott végpontokat a megadott osztályon vagy annak egyik származtatott osztályán keresztül kell társítani a forráshoz. Az alábbi listában szereplő lekérdezés például csak azokat a végpontokat adja vissza, amelyek a forráshoz vannak társítva a Win32_SystemDevices társításosztályon vagy annak bármely származtatott osztályán keresztül:

lekérdezés:

ASSOCIATORS OF {Win32_LogicalDisk.DeviceID="C:"} WHERE AssocClass = Win32_SystemDevices

eredmények:

Win32_ComputerSystem.Name="mycomputer"

A ClassDefsOnly kulcsszó azt jelzi, hogy a záradék az osztályok tényleges példányai helyett osztálydefiníciós objektumok eredményhalmazát adja vissza. Ezek az objektumok azoknak az osztályoknak a definíciói, amelyekhez a végpontpéldányok tartoznak. A következő listában szereplő lekérdezés például a Win32_Directory és Win32_ComputerSystem osztályok definícióit adja vissza:

lekérdezés:

ASSOCIATORS OF {Win32_LogicalDisk.DeviceID="C:"} WHERE ClassDefsOnly

eredmények:

Win32_Directory
Win32_ComputerSystem
Win32_DiskPartition

A ClassDefsOnly és ResultClass kulcsszavak kölcsönösen kizárják egymást. Az együttes használat érvénytelen lekérdezési hibát okoz.

A RequiredAssocQualifier kulcsszó azt jelzi, hogy a visszaadott végpontokat társítani kell a forrásobjektumhoz a megadott minősítőt tartalmazó társításosztályon keresztül. Ez a szűrési típus a végpontok széles tartományainak megszüntetésére szolgál, kivéve, ha a végpontok címkézett társítási osztályok egy adott halmazán keresztül vannak társítva a célhoz. Az alábbi listában szereplő lekérdezés például végpontpéldányokat ad vissza, ha a társításosztály tartalmaz egy Társításnevű minősítőt.

lekérdezés:

ASSOCIATORS OF {Win32_LogicalDisk.DeviceID="C:"}
   WHERE RequiredAssocQualifier = Association

eredmények:

Win32_Directory.Name="C:\\"
Win32_ComputerSystem.Name="mycomputer"
Win32_DiskPartition.DeviceID="Disk #0, Partition #0"

A RequiredQualifier kulcsszó azt jelzi, hogy a forrásobjektumhoz társított visszaadott végpontoknak tartalmazniuk kell a megadott minősítőt. A RequiredQualifier kulcsszóval bizonyos típusú példányokat vehet fel az eredményhalmazba. Az alábbi listában szereplő lekérdezés például olyan végpontpéldányokat ad vissza, amelyek tartalmazzák a Területinevű minősítőt.

lekérdezés:

ASSOCIATORS OF {Win32_LogicalDisk.DeviceID="C:"} WHERE RequiredQualifier = Locale

eredmények:

Win32_Directory.Name="C:\\"
Win32_ComputerSystem.Name="mycomputer"
Win32_DiskPartition.DeviceID="Disk #0, Partition #0"

A ResultClass kulcsszó azt jelzi, hogy a forrásobjektumhoz társított visszaadott végpontoknak a megadott osztályhoz kell tartozniük vagy származtatva kell lenniük. Az alábbi listában szereplő lekérdezés például a CIM_Directory osztályból származtatott végpontpéldányokat adja vissza:

lekérdezés:

ASSOCIATORS OF {Win32_LogicalDisk.DeviceID="C:"} WHERE ResultClass = Cim_Directory

eredmények:

Win32_Directory.Name="C:\\"

A ClassDefsOnly és ResultClass kulcsszavak kölcsönösen kizárják egymást. Az együttes használat érvénytelen lekérdezési hibát okoz.

A ResultRole kulcsszó azt jelzi, hogy a visszaadott végpontoknak egy adott szerepet kell játszaniuk a forrásobjektummal való társításban. A szerepkört a megadott tulajdonság határozza meg, amely egy reftípusú referenciatulajdonság. A ResultRole kulcsszó például az összes olyan végpont lekérésére használható, amelyek GroupComponent tulajdonsággal rendelkeznek egy forrásobjektumhoz való társításukban, ahogyan az alábbi lekérdezés szemlélteti.

lekérdezés:

ASSOCIATORS OF {Win32_LogicalDisk.DeviceID="C:"} WHERE ResultRole = GroupComponent

eredmények:

Win32_ComputerSystem.Name="mycomputer"

A szerepkör kulcsszó azt jelzi, hogy a visszaadott végpontok egy társításban vesznek részt azzal a forrásobjektummal, amelyben a forrásobjektum egy adott szerepet játszik. A szerepkört a megadott tulajdonság határozza meg, amely egy reftípusú referenciatulajdonság. A szerepkör kulcsszó például a GroupComponent tulajdonsággal rendelkező forrásobjektumhoz társított összes végpont lekérésére használható, ahogyan az alábbi lekérdezés szemlélteti.

lekérdezés:

ASSOCIATORS OF {Win32_LogicalDisk.DeviceID="C:"}
   WHERE Role = GroupComponent

eredmények:

Win32_Directory.Name="C:\\"

Jegyzet

Az összetett lekérdezések nem használhatják az "And" vagy az "Or" kifejezést a kulcsszavak elválasztására az ASSOCIATORS OF és utasítások hivatkozásai esetében. Ezenkívül az egyenlőségjel az egyetlen érvényes operátor, amely használható az ilyen lekérdezésekben. Például a következő lekérdezés érvényes:

 

ASSOCIATORS OF {win32_LogicalDisk="C:"} WHERE resultClass = Win32_Directory requiredQualifier = Dynamic

Jegyzet

A következő példák érvénytelenek. Az első példa nem használja az egyenlőségjelet, a második példa pedig hibásan próbálja meg használni a ÉS kulcsszót.

 

Associators of {win32_LogicalDisk="C:"} where resultClass = Win32_Directory requiredQualifier <> Dynamic

Associators of {win32_LogicalDisk="C:"} where resultClass = Win32_Directory AND requiredQualifier = Dynamic