ASSOCIATORS OF-instruktion
ASSOCIATORS OF-instruktionen hämtar alla instanser som är associerade med en viss källinstans. De instanser som hämtas kallas för slutpunkterna. Varje slutpunkt returneras så många gånger som det finns associationer mellan den och källobjektet. Anta till exempel att det finns instanserna A, B, X och Y. Det finns två associationsinstanser, en som länkar A och X och en annan som länkar B och Y. Följande fråga returnerar den enda slutpunkten X:
ASSOCIATORS OF {A}
Men om det finns en annan association som länkar A och X returnerar ovanstående fråga två X-slutpunkter.
Den grundläggande syntaxen för ASSOCIATORS OF-instruktionen är:
ASSOCIATORS OF {ObjectPath}
Observera att klammerparenteserna ingår i syntaxen. Alla giltiga objektsökvägar kan användas för ObjectPath. Token i objektsökvägen får inte innehålla något tomt utrymme. Frågan i följande lista returnerar till exempel instanser som är associerade med den angivna logiska disken:
-
fråga:
-
ASSOCIATORS OF {Win32_LogicalDisk.DeviceID="C:"}
-
resultat:
-
Win32_Directory.Name="C:\\"
Win32_ComputerSystem.Name="mycomputer" Win32_DiskPartition.DeviceID="Disk #0, Partition #0"
Precis som med SELECT-instruktionenkan en ASSOCIATORS OF-instruktion innehålla en WHERE-sats, men WHERE-satsen för en ASSOCIATORS OF-instruktion skiljer sig mycket från SELECT-instruktionenWHERE-satsen.
WHERE-satsen för ASSOCIATORS OF-instruktionen kan innehålla ett eller flera av följande fördefinierade nyckelord och deras värden:
ASSOCIATORS OF {ObjectPath} WHERE
AssocClass = AssocClassName
ClassDefsOnly
RequiredAssocQualifier = QualifierName
RequiredQualifier = QualifierName
ResultClass = ClassName
ResultRole = PropertyName
Role = PropertyName
Observera att de valfria underklienterna inte avgränsas med kommatecken.
Nyckelordet AssocClass anger att de returnerade slutpunkterna måste associeras med källan via den angivna klassen eller någon av dess härledda klasser. Frågan i följande lista returnerar till exempel endast slutpunkter som är associerade med källan via den Win32_SystemDevices associationsklassen eller någon av dess härledda klasser:
-
fråga:
-
ASSOCIATORS OF {Win32_LogicalDisk.DeviceID="C:"} WHERE AssocClass = Win32_SystemDevices
-
resultat:
-
Win32_ComputerSystem.Name="mycomputer"
Nyckelordet ClassDefsOnly anger att satsen returnerar en resultatuppsättning med klassdefinitionsobjekt i stället för faktiska instanser av klasserna. Dessa objekt är definitionerna av klasser som slutpunktsinstanserna tillhör. Frågan i följande lista returnerar till exempel definitioner för klasserna Win32_Directory och Win32_ComputerSystem:
-
fråga:
-
ASSOCIATORS OF {Win32_LogicalDisk.DeviceID="C:"} WHERE ClassDefsOnly
-
resultat:
-
Win32_Directory
Win32_ComputerSystem Win32_DiskPartition
Nyckelorden ClassDefsOnly och ResultClass är ömsesidigt uteslutande. Om du använder dem tillsammans uppstår ett ogiltigt frågefel.
Nyckelordet RequiredAssocQualifier anger att de returnerade slutpunkterna måste associeras med källobjektet via en associationsklass som innehåller den angivna kvalificeraren. Den här typen av filtrering används för att eliminera breda intervall av slutpunkter om inte slutpunkterna är associerade med målet via en viss uppsättning taggade associationsklasser. Frågan i följande lista returnerar till exempel slutpunktsinstanser om associationsklassen innehåller en kvalificerare med namnet Association.
-
fråga:
-
ASSOCIATORS OF {Win32_LogicalDisk.DeviceID="C:"} WHERE RequiredAssocQualifier = Association
-
resultat:
-
Win32_Directory.Name="C:\\"
Win32_ComputerSystem.Name="mycomputer" Win32_DiskPartition.DeviceID="Disk #0, Partition #0"
Nyckelordet RequiredQualifier anger att de returnerade slutpunkterna som är associerade med källobjektet måste innehålla den angivna kvalificeraren. Nyckelordet RequiredQualifier kan användas för att inkludera vissa typer av instanser i resultatuppsättningen. Frågan i följande lista returnerar till exempel slutpunktsinstanser som innehåller en kvalificerare med namnet Nationella inställningar.
-
fråga:
-
ASSOCIATORS OF {Win32_LogicalDisk.DeviceID="C:"} WHERE RequiredQualifier = Locale
-
resultat:
-
Win32_Directory.Name="C:\\"
Win32_ComputerSystem.Name="mycomputer" Win32_DiskPartition.DeviceID="Disk #0, Partition #0"
Nyckelordet ResultClass anger att de returnerade slutpunkterna som är associerade med källobjektet måste tillhöra eller härledas från den angivna klassen. Frågan i följande lista returnerar till exempel slutpunktsinstanser som härleds från klassen CIM_Directory:
-
fråga:
-
ASSOCIATORS OF {Win32_LogicalDisk.DeviceID="C:"} WHERE ResultClass = Cim_Directory
-
resultat:
-
Win32_Directory.Name="C:\\"
Nyckelorden ClassDefsOnly och ResultClass är ömsesidigt uteslutande. Om du använder dem tillsammans uppstår ett ogiltigt frågefel.
Nyckelordet ResultRole anger att de returnerade slutpunkterna måste spela en viss roll i deras koppling till källobjektet. Rollen definieras av den angivna egenskapen, en referensegenskap av typen referens. Till exempel kan nyckelordet ResultRole användas för att hämta alla slutpunkter som har egenskapen GroupComponent i deras association med ett källobjekt, som följande fråga illustrerar.
-
fråga:
-
ASSOCIATORS OF {Win32_LogicalDisk.DeviceID="C:"} WHERE ResultRole = GroupComponent
-
resultat:
-
Win32_ComputerSystem.Name="mycomputer"
Nyckelordet Roll anger att de returnerade slutpunkterna deltar i en association med källobjektet där källobjektet spelar en viss roll. Rollen definieras av den angivna egenskapen, en referensegenskap av typen referens. Nyckelordet Roll kan till exempel användas för att hämta alla slutpunkter som är associerade med ett källobjekt som har egenskapen GroupComponent, som följande fråga illustrerar.
-
fråga:
-
ASSOCIATORS OF {Win32_LogicalDisk.DeviceID="C:"} WHERE Role = GroupComponent
-
resultat:
-
Win32_Directory.Name="C:\\"
Not
Komplexa frågor kan inte använda "And" eller "Or" för att separera nyckelord för ASSOCIATORS OF och REFERENSER TILL-instruktioner. Dessutom är likhetstecknet den enda giltiga operatorn som kan användas i sådana frågor. Följande fråga är till exempel giltig:
ASSOCIATORS OF {win32_LogicalDisk="C:"} WHERE resultClass = Win32_Directory requiredQualifier = Dynamic
Not
Nästa exempel är ogiltiga. Det första exemplet använder inte likhetstecknet och det andra exemplet försöker felaktigt använda nyckelordet AND.
Associators of {win32_LogicalDisk="C:"} where resultClass = Win32_Directory requiredQualifier <> Dynamic
Associators of {win32_LogicalDisk="C:"} where resultClass = Win32_Directory AND requiredQualifier = Dynamic