다음을 통해 공유


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 statementWHERE 절과 매우 다릅니다.

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 키워드는 반환된 엔드포인트가 지정된 한정자를 포함하는 연결 클래스를 통해 원본 개체와 연결되어야 임을 나타냅니다. 이 유형의 필터링은 특정 태그가 지정된 연결 클래스 집합을 통해 엔드포인트가 대상과 연결되지 않는 한 광범위한 엔드포인트를 제거하는 데 사용됩니다. 예를 들어 연결 클래스에 연결한정자를 포함하는 경우 다음 목록의 쿼리는 엔드포인트 인스턴스를 반환합니다.

쿼리:

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

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

메모

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

 

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