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 ihm 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 weitere Zuordnung vorhanden ist, die A und X verknüpft, 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 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, 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 eines 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 Unterclausen nicht durch Kommas getrennt sind.

Das Schlüsselwort AssocClass gibt an, dass die zurückgegebenen Endpunkte der Quelle über die angegebene Klasse oder eine ihrer 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 ihrer abgeleiteten Klassen zugeordnet sind:

Abfrage:

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

Ergebnisse:

Win32_ComputerSystem.Name="mycomputer"

Das ClassDefsOnly-Schlüsselwort gibt an, dass die -Klausel ein Resultset von Klassendefinitionsobjekten anstelle tatsächlicher Instanzen der Klassen zurückgibt. Diese Objekte sind die Definitionen von Klassen, zu denen die Endpunktinstanzen gehören. Beispielsweise gibt die Abfrage in der folgenden Liste 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 verursacht einen ungültigen Abfragefehler.

Das RequiredAssocQualifier-Schlüsselwort 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 entfernen, es sei denn, die Endpunkte werden dem Ziel über einen bestimmten Satz von markierten Zuordnungsklassen zugeordnet. Beispielsweise gibt die Abfrage in der folgenden Liste 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 RequiredQualifier-Schlüsselwort gibt an, dass die zurückgegebenen Endpunkte, die dem Quellobjekt zugeordnet sind, den angegebenen Qualifizierer enthalten müssen. Das RequiredQualifier-Schlüsselwort kann verwendet werden, um bestimmte Typen von Instanzen in das Resultset aufzunehmen. Beispielsweise gibt die Abfrage in der folgenden Liste Endpunktinstanzen zurück, die einen Qualifizierer namens Gebietsschemaenthalten.

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, zu der 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 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. Die gemeinsame Verwendung verursacht einen ungültigen Abfragefehler.

Das ResultRole-Schlüsselwort 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 Verweiseigenschaft vom Typ ref. Beispielsweise kann das ResultRole-Schlüsselwort verwendet werden, um alle Endpunkte abzurufen, die die GroupComponent-Eigenschaft in ihrer Zuordnung zu einem Quellobjekt haben, wie die folgende Abfrage veranschaulicht.

Abfrage:

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

Ergebnisse:

Win32_ComputerSystem.Name="mycomputer"

Das Role-Schlüsselwort gibt an, dass die zurückgegebenen Endpunkte an einer Zuordnung zum Quellobjekt beteiligt sind, bei dem das Quellobjekt eine bestimmte Rolle spielt. Die Rolle wird durch die angegebene Eigenschaft definiert, eine Verweiseigenschaft vom Typ ref. Beispielsweise kann das Role-Schlüsselwort verwendet werden, um alle Endpunkte abzurufen, die einem Quellobjekt zugeordnet sind, das über die GroupComponent-Eigenschaft verfügt, wie die folgende Abfrage veranschaulicht.

Abfrage:

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

Ergebnisse:

Win32_Directory.Name="C:\\"

Hinweis

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. 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 nicht das Gleichheitszeichen verwendet, und im zweiten Beispiel wird fälschlicherweise versucht, das AND-Schlüsselwort 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