Instrução ASSOCIATORS OF

A instrução ASSOCIATORS OF recupera todas as instâncias associadas a uma instância de origem específica. As instâncias recuperadas são conhecidas como pontos de extremidade. Cada ponto de extremidade é retornado quantas vezes houver associações entre ele e o objeto de origem. Por exemplo, suponha que haja instâncias A, B, X e Y. Existem duas instâncias de associação, uma que vincula A e X e outra que vincula B e Y. A consulta a seguir retorna o ponto de extremidade único X:

ASSOCIATORS OF {A}

No entanto, se houver outra associação vinculando A e X, a consulta acima retornará dois pontos de extremidade X.

A sintaxe básica para a instrução ASSOCIATORS OF é:

ASSOCIATORS OF {ObjectPath}

Observe que as chaves fazem parte da sintaxe. Qualquer caminho de objeto válido pode ser usado para ObjectPath. Os tokens dentro do caminho do objeto não podem conter espaço em branco. Por exemplo, a consulta na lista a seguir retorna instâncias associadas ao disco lógico especificado:

Consulta:

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

Resultados:

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

Assim como acontece com a instrução SELECT, uma instrução ASSOCIATORS OF pode incluir uma cláusula WHERE, mas a cláusula WHERE para uma instrução ASSOCIATORS OF é muito diferente da cláusula SELECT statementWHERE.

A cláusula WHERE da instrução ASSOCIATORS OF pode incluir uma ou mais das seguintes palavras-chave predefinidas e seus valores:

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

Observe que as subcláusulas opcionais não são separadas por vírgulas.

A palavra-chave AssocClass indica que os pontos de extremidade retornados devem estar associados à origem por meio da classe especificada ou de uma de suas classes derivadas. Por exemplo, a consulta na lista a seguir retorna apenas pontos de extremidade associados à origem por meio da classe de associação Win32_SystemDevices ou qualquer uma de suas classes derivadas:

Consulta:

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

Resultados:

Win32_ComputerSystem.Name="mycomputer"

O palavra-chave ClassDefsOnly indica que a cláusula retorna um conjunto de resultados de objetos de definição de classe em vez de instâncias reais das classes. Esses objetos são as definições de classes às quais as instâncias de ponto de extremidade pertencem. Por exemplo, a consulta na lista a seguir retorna definições para as classes Win32_Directory e Win32_ComputerSystem:

Consulta:

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

Resultados:

Win32_Directory
Win32_ComputerSystem
Win32_DiskPartition

As palavras-chave ClassDefsOnly e ResultClass são mutuamente exclusivas. Usá-las juntas causa um erro de consulta inválido.

A palavra-chave RequiredAssocQualifier indica que os pontos de extremidade retornados devem ser associados ao objeto de origem por meio de uma classe de associação que inclui o qualificador especificado. Esse tipo de filtragem é usado para eliminar grandes intervalos de pontos de extremidade, a menos que os pontos de extremidade estejam associados ao destino por meio de um determinado conjunto de classes de associação marcadas. Por exemplo, a consulta na lista a seguir retornará instâncias de ponto de extremidade se a classe de associação incluir um qualificador chamado Association.

Consulta:

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

Resultados:

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

O palavra-chave RequiredQualifier indica que os pontos de extremidade retornados associados ao objeto de origem devem incluir o qualificador especificado. O palavra-chave RequiredQualifier pode ser usada para incluir tipos específicos de instâncias no conjunto de resultados. Por exemplo, a consulta na lista a seguir retorna instâncias de ponto de extremidade que incluem um qualificador chamado Locale.

Consulta:

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

Resultados:

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

A palavra-chave ResultClass indica que os pontos de extremidade retornados associados ao objeto de origem devem pertencer ou ser derivados da classe especificada. Por exemplo, a consulta na lista a seguir retorna instâncias de ponto de extremidade derivadas da classe CIM_Directory:

Consulta:

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

Resultados:

Win32_Directory.Name="C:\\"

As palavras-chave ClassDefsOnly e ResultClass são mutuamente exclusivas. Usá-las juntas causa um erro de consulta inválido.

A palavra-chave ResultRole indica que os pontos de extremidade retornados devem desempenhar uma função específica na associação com o objeto de origem. A função é definida pela propriedade especificada, uma propriedade de referência do tipo ref. Por exemplo, a palavra-chave ResultRole pode ser usada para recuperar todos os pontos de extremidade que têm a propriedade GroupComponent em sua associação com um objeto de origem, como ilustra a consulta a seguir.

Consulta:

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

Resultados:

Win32_ComputerSystem.Name="mycomputer"

A palavra-chave função indica que os pontos de extremidade retornados participam de uma associação com o objeto de origem em que o objeto de origem desempenha uma função específica. A função é definida pela propriedade especificada, uma propriedade de referência do tipo ref. Por exemplo, a palavra-chave Role pode ser usada para recuperar todos os pontos de extremidade associados a um objeto de origem que têm a propriedade GroupComponent, como ilustra a consulta a seguir.

Consulta:

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

Resultados:

Win32_Directory.Name="C:\\"

Observação

Consultas complexas não podem usar "And" ou "Or" para separar palavras-chave para instruções ASSOCIATORS OF e REFERENCES OF. Além disso, o sinal de igual é o único operador válido que pode ser usado nessas consultas. Por exemplo, a seguinte consulta é válido:

 

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

Observação

Os próximos exemplos não são válidos. O primeiro exemplo não usa o sinal de igual e o segundo exemplo tenta erroneamente usar a palavra-chave AND.

 

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

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