ASSOCIATORS OF 문

ASSOCIATORS OF 문은 특정 원본 인스턴스와 연결된 모든 인스턴스를 검색합니다. 검색되는 인스턴스를 엔드포인트라고 합니다. 각 엔드포인트는 원본 개체와 연결이 있는 만큼 여러 번 반환됩니다. 예를 들어 A, B, X 및 Y 인스턴스가 있다고 가정합니다. A와 X를 연결하는 두 개의 연결 인스턴스와 B와 Y를 연결하는 다른 연결 인스턴스가 있습니다. 다음 쿼리는 단일 엔드포인트 X를 반환합니다.

ASSOCIATORS OF {A}

그러나 A와 X를 연결하는 다른 연결이 있는 경우 위의 쿼리는 두 개의 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 절에는 다음과 같은 미리 정의된 키워드 및 해당 값 중 하나 이상이 포함될 수 있습니다.

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_DirectoryWin32_ComputerSystem 클래스에 대한 정의를 반환합니다.

쿼리:

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

결과:

Win32_Directory
Win32_ComputerSystem
Win32_DiskPartition

ClassDefsOnlyResultClass 키워드는 함께 사용할 수 없습니다. 함께 사용하면 유효하지 않은 쿼리 오류가 발생합니다.

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:\\"

ClassDefsOnlyResultClass 키워드는 함께 사용할 수 없습니다. 함께 사용하면 유효하지 않은 쿼리 오류가 발생합니다.

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:\\"

참고

복잡한 쿼리에서는 ASSOCIATORS OF 및 REFERENCES OF 문에 대한 키워드를 구분하는 데 “And” 또는 “Or”를 사용할 수 없습니다. 또한 등호는 이러한 쿼리에서 사용할 수 있는 유일한 유효 연산자입니다. 예를 들어, 다음 쿼리는 유효합니다.

 

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

참고

다음 예제는 유효하지 않습니다. 첫 번째 예제에서는 등호를 사용하지 않고 두 번째 예제에서는 AND 키워드를 잘못 사용하려고 시도합니다.

 

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

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