Freigeben über


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