ASSOCIATORS OF-Anweisung
Die ASSOCIATORS OF -Anweisung ruft alle Instanzen ab, die einer bestimmten Quellinstanz zugeordnet sind. Die abgerufenen Instanzen werden als Endpunkte bezeichnet. Jeder Endpunkt wird so oft zurückgegeben, wie es Zuordnungen zwischen dem Endpunkt und dem Quellobjekt gibt. Angenommen, es gibt Instanzen A, B, X und Y. Es gibt zwei Zuordnungsinstanzen, eine, die A und X und eine andere verknüpft, die B und Y verknüpft. Die folgende Abfrage gibt den einzelnen Endpunkt X zurück:
ASSOCIATORS OF {A}
Wenn jedoch eine andere Zuordnungsverknüpfung A und X vorhanden ist, gibt die obige Abfrage zwei X-Endpunkte zurück.
Die grundlegende Syntax für die ASSOCIATORS OF-Anweisung lautet:
ASSOCIATORS OF {ObjectPath}
Beachten Sie, dass die geschweiften Klammern Teil der Syntax sind. Ein beliebiger gültiger Objektpfad kann für ObjectPath verwendet werden. Die Token innerhalb des Objektpfads dürfen keinen Leerraum enthalten. Beispielsweise gibt die Abfrage in der folgenden Liste Instanzen zurück, die dem angegebenen logischen Datenträger zugeordnet sind:
-
Abfrage:
-
ASSOCIATORS OF {Win32_LogicalDisk.DeviceID="C:"}
-
Ergebnisse:
-
Win32_Directory.Name="C:\\"
Win32_ComputerSystem.Name="mycomputer" Win32_DiskPartition.DeviceID="Disk #0, Partition #0"
Wie bei der SELECT-Anweisungkann eine ASSOCIATORS OF-Anweisung eine WHERE-Klauselenthalten, die WHERE-Klausel für eine ASSOCIATORS OF-Anweisung unterscheidet sich jedoch stark von der SELECT-AnweisungWHERE-Klausel.
Die WHERE-Klausel der ASSOCIATORS OF-Anweisung kann ein oder mehrere der folgenden vordefinierten Schlüsselwörter und deren Werte enthalten:
ASSOCIATORS OF {ObjectPath} WHERE
AssocClass = AssocClassName
ClassDefsOnly
RequiredAssocQualifier = QualifierName
RequiredQualifier = QualifierName
ResultClass = ClassName
ResultRole = PropertyName
Role = PropertyName
Beachten Sie, dass die optionalen Unterclauses nicht durch Kommas getrennt werden.
Das schlüsselwort AssocClass gibt an, dass die zurückgegebenen Endpunkte der Quelle über die angegebene Klasse oder eine der abgeleiteten Klassen zugeordnet werden müssen. Beispielsweise gibt die Abfrage in der folgenden Liste nur Endpunkte zurück, die der Quelle über die Win32_SystemDevices Zuordnungsklasse oder eine der abgeleiteten Klassen zugeordnet sind:
-
Abfrage:
-
ASSOCIATORS OF {Win32_LogicalDisk.DeviceID="C:"} WHERE AssocClass = Win32_SystemDevices
-
Ergebnisse:
-
Win32_ComputerSystem.Name="mycomputer"
Das schlüsselwort ClassDefsOnly gibt an, dass die Klausel ein Resultset von Klassendefinitionsobjekten und nicht tatsächlichen Instanzen der Klassen zurückgibt. Diese Objekte sind die Definitionen von Klassen, zu denen die Endpunktinstanzen gehören. Die Abfrage in der folgenden Liste gibt beispielsweise Definitionen für die klassen Win32_Directory und Win32_ComputerSystem zurück:
-
Abfrage:
-
ASSOCIATORS OF {Win32_LogicalDisk.DeviceID="C:"} WHERE ClassDefsOnly
-
Ergebnisse:
-
Win32_Directory
Win32_ComputerSystem Win32_DiskPartition
Die schlüsselwörter ClassDefsOnly und ResultClass schließen sich gegenseitig aus. Die Gemeinsame Verwendung führt zu einem ungültigen Abfragefehler.
Das schlüsselwort RequiredAssocQualifier gibt an, dass die zurückgegebenen Endpunkte dem Quellobjekt über eine Zuordnungsklasse zugeordnet werden müssen, die den angegebenen Qualifizierer enthält. Diese Art der Filterung wird verwendet, um breite Bereiche von Endpunkten zu beseitigen, es sei denn, die Endpunkte werden dem Ziel über einen bestimmten Satz markierter Zuordnungsklassen zugeordnet. Beispielsweise gibt die Abfrage in der folgenden Liste Endpunktinstanzen zurück, wenn die Zuordnungsklasse einen Qualifizierer mit dem Namen Associationenthält.
-
Abfrage:
-
ASSOCIATORS OF {Win32_LogicalDisk.DeviceID="C:"} WHERE RequiredAssocQualifier = Association
-
Ergebnisse:
-
Win32_Directory.Name="C:\\"
Win32_ComputerSystem.Name="mycomputer" Win32_DiskPartition.DeviceID="Disk #0, Partition #0"
Das schlüsselwort RequiredQualifier gibt an, dass die zurückgegebenen Endpunkte, die dem Quellobjekt zugeordnet sind, den angegebenen Qualifizierer enthalten müssen. Das schlüsselwort RequiredQualifier kann verwendet werden, um bestimmte Arten von Instanzen in das Resultset einzuschließen. Beispielsweise gibt die Abfrage in der folgenden Liste Endpunktinstanzen zurück, die einen Qualifizierer mit dem Namen Gebietsschema-enthalten.
-
Abfrage:
-
ASSOCIATORS OF {Win32_LogicalDisk.DeviceID="C:"} WHERE RequiredQualifier = Locale
-
Ergebnisse:
-
Win32_Directory.Name="C:\\"
Win32_ComputerSystem.Name="mycomputer" Win32_DiskPartition.DeviceID="Disk #0, Partition #0"
Das ResultClass Schlüsselwort gibt an, dass die zurückgegebenen Endpunkte, die dem Quellobjekt zugeordnet sind, zur angegebenen Klasse gehören oder von dieser abgeleitet werden müssen. Beispielsweise gibt die Abfrage in der folgenden Liste Endpunktinstanzen zurück, die von der CIM_Directory-Klasse abgeleitet werden:
-
Abfrage:
-
ASSOCIATORS OF {Win32_LogicalDisk.DeviceID="C:"} WHERE ResultClass = Cim_Directory
-
Ergebnisse:
-
Win32_Directory.Name="C:\\"
Die schlüsselwörter ClassDefsOnly und ResultClass schließen sich gegenseitig aus. Die Gemeinsame Verwendung führt zu einem ungültigen Abfragefehler.
Das schlüsselwort ResultRole gibt an, dass die zurückgegebenen Endpunkte eine bestimmte Rolle in ihrer Zuordnung zum Quellobjekt spielen müssen. Die Rolle wird durch die angegebene Eigenschaft definiert, eine Referenzeigenschaft vom Typ Bezug. Beispielsweise kann das schlüsselwort ResultRole verwendet werden, um alle Endpunkte abzurufen, die die GroupComponent-eigenschaft in ihrer Zuordnung zu einem Quellobjekt aufweisen, wie die folgende Abfrage veranschaulicht.
-
Abfrage:
-
ASSOCIATORS OF {Win32_LogicalDisk.DeviceID="C:"} WHERE ResultRole = GroupComponent
-
Ergebnisse:
-
Win32_ComputerSystem.Name="mycomputer"
Das schlüsselwort Role gibt an, dass die zurückgegebenen Endpunkte an einer Zuordnung mit dem Quellobjekt teilnehmen, in dem das Quellobjekt eine bestimmte Rolle spielt. Die Rolle wird durch die angegebene Eigenschaft definiert, eine Referenzeigenschaft vom Typ Bezug. Beispielsweise kann das schlüsselwort Role verwendet werden, um alle Endpunkte abzurufen, die einem Quellobjekt zugeordnet sind, das die GroupComponent-Eigenschaft aufweist, wie die folgende Abfrage veranschaulicht.
-
Abfrage:
-
ASSOCIATORS OF {Win32_LogicalDisk.DeviceID="C:"} WHERE Role = GroupComponent
-
Ergebnisse:
-
Win32_Directory.Name="C:\\"
Anmerkung
Komplexe Abfragen können "And" oder "Or" nicht verwenden, um Schlüsselwörter für ASSOCIATORS OF und REFERENCES OF-Anweisungen zu trennen. Darüber hinaus ist das Gleichheitszeichen der einzige gültige Operator, der in solchen Abfragen verwendet werden kann. Die folgende Abfrage ist beispielsweise gültig:
ASSOCIATORS OF {win32_LogicalDisk="C:"} WHERE resultClass = Win32_Directory requiredQualifier = Dynamic
Anmerkung
Die nächsten Beispiele sind ungültig. Im ersten Beispiel wird das Gleichheitszeichen nicht verwendet, und das zweite Beispiel versucht fälschlicherweise, das Schlüsselwort AND zu verwenden.
Associators of {win32_LogicalDisk="C:"} where resultClass = Win32_Directory requiredQualifier <> Dynamic
Associators of {win32_LogicalDisk="C:"} where resultClass = Win32_Directory AND requiredQualifier = Dynamic