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 die Instanzen A, B, X und Y. Es gibt zwei Zuordnungsinstanzen, eine, die A und X verknüpft, und eine andere, die B und Y verknüpft. Die folgende Abfrage gibt den einzelnen Endpunkt X zurück:

ASSOCIATORS OF {A}

Wenn jedoch eine andere Zuordnung zwischen 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. Jeder gültige Objektpfad kann für ObjectPath verwendet werden. Die Token innerhalb des Objektpfads dürfen keine Leerzeichen enthalten. Die Abfrage in der folgenden Liste gibt z. B. 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-Anweisung kann eine ASSOCIATORS OF-Anweisung eine WHERE-Klausel enthalten, aber die WHERE-Klausel für eine ASSOCIATORS OF-Anweisung unterscheidet sich stark von der SELECT-AnweisungWHERE-Klausel.

Die WHERE-Klausel der ASSOCIATORS OF-Anweisung kann mindestens eins 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 Unterklauseln nicht durch Kommas getrennt sind.

Das Schlüsselwort AssocClass gibt an, dass zurückgegebene Endpunkte über die angegebene Klasse oder eine ihrer abgeleiteten Klassen der Quelle zugeordnet werden müssen. Beispielsweise gibt die Abfrage in der folgenden Liste nur Endpunkte zurück, die der Quelle über die Zuordnungsklasse Win32_SystemDevices oder eine ihrer abgeleiteten Klassen zugeordnet sind:

Abfrage:

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

Ergebnisse:

Win32_ComputerSystem.Name="mycomputer"

Der Schlüsselwort ClassDefsOnly gibt an, dass die Klausel ein Resultset von Klassendefinitionsobjekten zurückgibt und nicht tatsächliche Instanzen der Klassen. 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. Wenn Sie sie zusammen verwenden, wird ein ungültiger Abfragefehler verursacht.

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 große Bereiche von Endpunkten auszuschließen, es sei denn, die Endpunkte werden dem Ziel über einen bestimmten Satz markierter Zuordnungsklassen zugeordnet. Die Abfrage in der folgenden Liste gibt z. B. Endpunktinstanzen zurück, wenn die Zuordnungsklasse einen Qualifizierer namens Association enthä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. Die Abfrage in der folgenden Liste gibt z. B. Endpunktinstanzen zurück, die einen Qualifizierer namens Locale 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 Schlüsselwort ResultClass gibt an, dass zurückgegebene Endpunkte, die dem Quellobjekt zugeordnet sind, der angegebenen Klasse angehören oder von dieser abgeleitet werden müssen. Die Abfrage in der folgenden Liste gibt z. B. Endpunktinstanzen zurück, die von der Klasse CIM_Directory abgeleitet sind:

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. Wenn Sie sie zusammen verwenden, wird ein ungültiger Abfragefehler verursacht.

Das Schlüsselwort ResultRole gibt an, dass die zurückgegebenen Endpunkte eine bestimmte Rolle bei der Zuordnung zum Quellobjekt spielen müssen. Die Rolle wird durch die angegebene Eigenschaft definiert, eine Verweiseigenschaft vom Typ ref. Beispielsweise kann das Schlüsselwort ResultRole verwendet werden, um alle Endpunkte abzurufen, mit der Eigenschaft GroupComponent in ihrer Zuordnung zu einem Quellobjekt, wie in der folgenden 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 Verweiseigenschaft vom Typ ref. Beispielsweise kann das Schlüsselwort Role verwendet werden, um alle Endpunkte abzurufen, die einem Quellobjekt zugeordnet sind, das die Eigenschaft GroupComponent aufweist, wie in der folgenden Abfrage veranschaulicht.

Abfrage:

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

Ergebnisse:

Win32_Directory.Name="C:\\"

Hinweis

Komplexe Abfragen können nicht "And" oder "Or" 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. Beispielsweise ist die folgende Abfrage gültig:

 

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

Hinweis

Die nächsten Beispiele sind ungültig. Im ersten Beispiel wird das Gleichheitszeichen nicht verwendet, und im zweiten Beispiel wird fälschlicherweise versucht, 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