ASSOCIATORS OF ステートメント

ASSOCIATEDORS OF ステートメントは、特定のソース インスタンスに関連付けられているすべてのインスタンスを取得します。 取得されるインスタンスは、エンドポイントと呼ばれます。 各エンドポイントは、そのエンドポイントとソース オブジェクトの間の関連付けがある回数として返されます。 たとえば、インスタンス A、B、X、Y があるとします。関連付けインスタンスが 2 つ存在します。1 つは A と X をリンクし、もう 1 つは B と Y をリンクします。次のクエリは、単一エンドポイント X を返します。

ASSOCIATORS OF {A}

ただし、A と X をリンクする別の関連付けがある場合、上記のクエリは 2 つの X エンドポイントを返します。

ASSOCIATORS OF ステートメントの基本的な構文は次のとおりです。

ASSOCIATORS OF {ObjectPath}

中かっこは構文の一部であることに注意してください。 ObjectPath には、任意の有効なオブジェクト パスを使用できます。 オブジェクト パス内のトークンに空白を含めることはできません。 たとえば、次の一覧のクエリは、指定された論理ディスクに関連付けられているインスタンスを返します。

クエリ:

ASSOCIATORS OF {Win32_LogicalDisk.DeviceID="C:"}

結果:

Win32_Directory.Name="C:\\"
Win32_ComputerSystem.Name="mycomputer"
Win32_DiskPartition.DeviceID="Disk #0, Partition #0"

SELECT ステートメントと同様に、ASSOCIATORS OF ステートメントには WHERE 句を含めることができますが、ASSOCIATORS OF ステートメントの WHERE 句は SELECT ステートメントWHERE 句とは大きく異なります。

ASSOCIATORS OF ステートメントの WHERE 句 には、次の定義済みキーワードとその値を 1 つ以上含めることができます。

ASSOCIATORS OF {ObjectPath} WHERE
    AssocClass = AssocClassName
    ClassDefsOnly
    RequiredAssocQualifier = QualifierName
    RequiredQualifier = QualifierName
    ResultClass = ClassName
    ResultRole = PropertyName
    Role = PropertyName

省略可能なサブテキストはコンマで区切られないことに注意してください。

AssocClass キーワードは、返されるエンドポイントが、指定したクラスまたはその派生クラスのいずれかを介してソースに関連付けられている必要があることを示します。 たとえば、次の一覧のクエリは、 Win32_SystemDevices 関連付けクラスまたはその派生クラスを介してソースに関連付けられているエンドポイントのみを返します。

クエリ:

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

結果:

Win32_ComputerSystem.Name="mycomputer"

ClassDefsOnly キーワードは、クラスの実際のインスタンスではなく、クラス定義オブジェクトの結果セットを句が返されることを示します。 これらのオブジェクトは、エンドポイント インスタンスが属するクラスの定義です。 たとえば、次の一覧のクエリは、Win32_Directoryクラスと Win32_ComputerSystem クラスの定義 返します。

クエリ:

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

結果:

Win32_Directory
Win32_ComputerSystem
Win32_DiskPartition

ClassDefsOnly キーワードと ResultClass キーワードは相互に排他的です。 これらを組み合わせて使用すると、無効なクエリ エラーが発生します。

RequiredAssocQualifier キーワードは、指定した修飾子を含むアソシエーション クラスを介して、返されるエンドポイントをソース オブジェクトに関連付ける必要があることを示します。 この種類のフィルター処理は、特定のタグ付き関連付けクラスのセットを介してエンドポイントがターゲットに関連付けられていない限り、広範なエンドポイントを排除するために使用されます。 たとえば、関連付けクラスに Association という修飾子が含まれている場合、次の一覧のクエリはエンドポイント インスタンスを返します。

クエリ:

ASSOCIATORS OF {Win32_LogicalDisk.DeviceID="C:"}
   WHERE RequiredAssocQualifier = Association

結果:

Win32_Directory.Name="C:\\"
Win32_ComputerSystem.Name="mycomputer"
Win32_DiskPartition.DeviceID="Disk #0, Partition #0"

RequiredQualifier キーワードは、ソース オブジェクトに関連付けられている返されたエンドポイントに、指定した修飾子を含める必要があることを示します。 RequiredQualifier キーワードを使用して、特定の種類のインスタンスを結果セットに含めることができます。 たとえば、次の一覧のクエリは、 Locale という修飾子を含むエンドポイント インスタンスを返します。

クエリ:

ASSOCIATORS OF {Win32_LogicalDisk.DeviceID="C:"} WHERE RequiredQualifier = Locale

結果:

Win32_Directory.Name="C:\\"
Win32_ComputerSystem.Name="mycomputer"
Win32_DiskPartition.DeviceID="Disk #0, Partition #0"

ResultClass キーワードは、ソース オブジェクトに関連付けられている返されたエンドポイントが、指定したクラスに属しているか、指定されたクラスから派生する必要があることを示します。 たとえば、次の一覧のクエリは、 CIM_Directory クラスから派生したエンドポイント インスタンスを返します。

クエリ:

ASSOCIATORS OF {Win32_LogicalDisk.DeviceID="C:"} WHERE ResultClass = Cim_Directory

結果:

Win32_Directory.Name="C:\\"

ClassDefsOnly キーワードと ResultClass キーワードは相互に排他的です。 これらを組み合わせて使用すると、無効なクエリ エラーが発生します。

ResultRole キーワードは、返されるエンドポイントがソース オブジェクトとの関連付けに特定の役割を果たす必要があることを示します。 ロールは、指定されたプロパティ (ref 型の参照プロパティ) によって定義 されます。たとえば、次のクエリに示すように、 ResultRole キーワードを使用して、 GroupComponent プロパティがソース オブジェクトと関連付けされているすべてのエンドポイントを取得できます。

クエリ:

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

結果:

Win32_ComputerSystem.Name="mycomputer"

Role キーワードは、返されたエンドポイントが、ソース オブジェクトが特定のロールを果たすソース オブジェクトとの関連付けに参加することを示します。 ロールは、指定されたプロパティ (ref 型の参照プロパティ) によって定義 されます。たとえば、次のクエリに示すように、 Role キーワードを使用して、 GroupComponent プロパティを持つソース オブジェクトに関連付けられているすべてのエンドポイントを取得できます。

クエリ:

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

結果:

Win32_Directory.Name="C:\\"

注意

複雑なクエリでは、"And" または "Or" を使用して、ASSOCIATORS OF ステートメントと REFERENCES OF ステートメントのキーワードを区切ることはできません。 さらに、等号は、このようなクエリで使用できる唯一の有効な演算子です。 たとえば、次のクエリは有効です。

 

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

注意

次の例は無効です。 最初の例では等号を使用せず、2 番目の例では AND キーワードの 使用が誤って試行されます。

 

Associators of {win32_LogicalDisk="C:"} where resultClass = Win32_Directory requiredQualifier <> Dynamic

Associators of {win32_LogicalDisk="C:"} where resultClass = Win32_Directory AND requiredQualifier = Dynamic