次の方法で共有


ASSOCIATORS OF ステートメント

ASSOCIATORS 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 キーワードは、返されるエンドポイントが、指定したクラスまたはその派生クラスの 1 つを介してソースに関連付けられている必要があることを示します。 たとえば、次の一覧のクエリは、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 キーワードを使用すると、特定の種類のインスタンスを結果セットに含めることができます。 たとえば、次の一覧のクエリは、ロケールと呼ばれる修飾子を含むエンドポイント インスタンス返します。

クエリ:

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