Delen via


ASSOCIATORS OF Statement

Met de INSTRUCTIE ASSOCIATORS OF worden alle exemplaren opgehaald die zijn gekoppeld aan een bepaald bronexemplaar. De exemplaren die worden opgehaald, worden de eindpunten genoemd. Elk eindpunt wordt zo vaak geretourneerd als er koppelingen tussen het eindpunt en het bronobject zijn. Stel dat er exemplaren A, B, X en Y zijn. Er bestaan twee koppelingsexemplaren, een instantie die A en X koppelt en een andere die B en Y koppelt. De volgende query retourneert het enkele eindpunt X:

ASSOCIATORS OF {A}

Als er echter een andere koppeling is tussen A en X, retourneert de bovenstaande query twee X-eindpunten.

De basissyntaxis voor de instructie ASSOCIATORS OF is:

ASSOCIATORS OF {ObjectPath}

De accolades maken deel uit van de syntaxis. Elk geldig objectpad kan worden gebruikt voor ObjectPath. De tokens binnen het objectpad mogen geen witruimte bevatten. De query in de volgende lijst retourneert bijvoorbeeld exemplaren die zijn gekoppeld aan de opgegeven logische schijf:

query:

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

resultaten:

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

Net als bij de SELECT-instructiekan een ASSOCIATORS OF-instructie een WHERE-componentbevatten, maar de WHERE-component voor een ASSOCIATORS OF-instructie is heel anders dan de SELECT-instructieWHERE-component.

De WHERE-component van de INSTRUCTIE ASSOCIATORS OF kan een of meer van de volgende vooraf gedefinieerde trefwoorden en hun waarden bevatten:

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

Houd er rekening mee dat de optionele subclauses niet worden gescheiden door komma's.

Het trefwoord AssocClass geeft aan dat de geretourneerde eindpunten moeten worden gekoppeld aan de bron via de opgegeven klasse of een van de afgeleide klassen. De query in de volgende lijst retourneert bijvoorbeeld alleen eindpunten die zijn gekoppeld aan de bron via de Win32_SystemDevices koppelingsklasse of een van de afgeleide klassen:

query:

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

resultaten:

Win32_ComputerSystem.Name="mycomputer"

Het trefwoord ClassDefsOnly geeft aan dat de component een resultatenset met klassedefinitieobjecten retourneert in plaats van werkelijke exemplaren van de klassen. Deze objecten zijn de definities van klassen waartoe de eindpuntexemplaren behoren. De query in de volgende lijst retourneert bijvoorbeeld definities voor de Win32_Directory- en Win32_ComputerSystem klassen:

query:

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

resultaten:

Win32_Directory
Win32_ComputerSystem
Win32_DiskPartition

De ClassDefsOnly en ResultClass trefwoorden sluiten elkaar wederzijds uit. Als u ze samen gebruikt, wordt er een ongeldige queryfout gegenereerd.

De RequiredAssocQualifier trefwoord geeft aan dat de geretourneerde eindpunten moeten worden gekoppeld aan het bronobject via een koppelingsklasse die de opgegeven kwalificatie bevat. Dit type filter wordt gebruikt om een groot aantal eindpunten te elimineren, tenzij de eindpunten aan het doel zijn gekoppeld via een bepaalde set getagde koppelingsklassen. De query in de volgende lijst retourneert bijvoorbeeld eindpuntexemplaren als de koppelingsklasse een kwalificatie met de naam Associationbevat.

query:

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

resultaten:

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

De RequiredQualifier trefwoord geeft aan dat de geretourneerde eindpunten die zijn gekoppeld aan het bronobject de opgegeven kwalificatie moeten bevatten. Het trefwoord RequiredQualifier kan worden gebruikt om bepaalde typen exemplaren in de resultatenset op te nemen. De query in de volgende lijst retourneert bijvoorbeeld eindpuntexemplaren met een kwalificatie met de naam Landinstellingen.

query:

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

resultaten:

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

De ResultClass trefwoord geeft aan dat de geretourneerde eindpunten die zijn gekoppeld aan het bronobject moeten behoren tot of moeten worden afgeleid van de opgegeven klasse. De query in de volgende lijst retourneert bijvoorbeeld eindpuntexemplaren die zijn afgeleid van de CIM_Directory-klasse:

query:

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

resultaten:

Win32_Directory.Name="C:\\"

De ClassDefsOnly en ResultClass trefwoorden sluiten elkaar wederzijds uit. Als u ze samen gebruikt, wordt er een ongeldige queryfout gegenereerd.

Het resultRole trefwoord geeft aan dat de geretourneerde eindpunten een bepaalde rol moeten spelen in hun koppeling met het bronobject. De rol wordt gedefinieerd door de opgegeven eigenschap, een verwijzingseigenschap van het type ref. Het trefwoord ResultRole kan bijvoorbeeld worden gebruikt om alle eindpunten met de eigenschap GroupComponent op te halen in hun koppeling met een bronobject, zoals in de volgende query wordt geïllustreerd.

query:

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

resultaten:

Win32_ComputerSystem.Name="mycomputer"

Het sleutelwoord Role geeft aan dat de geretourneerde eindpunten deelnemen aan een koppeling met het bronobject waarbij het bronobject een bepaalde rol speelt. De rol wordt gedefinieerd door de opgegeven eigenschap, een verwijzingseigenschap van het type ref. Het trefwoord Role kan bijvoorbeeld worden gebruikt om alle eindpunten op te halen die zijn gekoppeld aan een bronobject met de eigenschap GroupComponent, zoals in de volgende query wordt geïllustreerd.

query:

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

resultaten:

Win32_Directory.Name="C:\\"

Notitie

Complexe query's kunnen "And" of "Or" niet gebruiken om trefwoorden te scheiden voor ASSOCIATORS OF en VERWIJZINGEN VAN instructies. Bovendien is het gelijkteken de enige geldige operator die in dergelijke query's kan worden gebruikt. De volgende query is bijvoorbeeld geldig:

 

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

Notitie

De volgende voorbeelden zijn ongeldig. In het eerste voorbeeld wordt het gelijkteken niet gebruikt en in het tweede voorbeeld wordt ten onrechte geprobeerd het trefwoord AND te gebruiken.

 

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

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