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