ASSOCIADOS DE Declaração
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 chamadas de pontos de extremidade. Cada ponto de extremidade é retornado quantas vezes houver associações entre ele e o objeto de origem. Por exemplo, suponha que há instâncias A, B, X e Y. Existem duas instâncias de associação, uma que liga A e X e outra que liga B e Y. A consulta a seguir retorna o ponto de extremidade X único:
ASSOCIATORS OF {A}
No entanto, se houver outra associação ligando 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 nenhum 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"
Tal como acontece com a declaração SELECT, uma declaração ASSOCIATORS OF pode incluir uma cláusula WHERE, mas a cláusula WHERE para uma declaração ASSOCIATORS OF é muito diferente da cláusula SELECT statementWHERE.
A cláusula WHERE da declaraçã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
Note-se que as subcláusulas opcionais não estão separadas por vírgulas.
A palavra-chave AssocClass indica que os pontos de extremidade retornados devem ser 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"
A 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á-los juntos 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 inclua 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 conjunto específico de classes de associação marcadas. Por exemplo, a consulta na lista a seguir retorna 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"
A palavra-chave RequiredQualifier indica que os pontos de extremidade retornados associados ao objeto de origem devem incluir o qualificador especificado. A 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á-los juntos 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 em sua 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 Role indica que os pontos de extremidade retornados participam de uma associação com o objeto de origem onde 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 tenham 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 "E" ou "Ou" para separar palavras-chave para ASSOCIADOS DE e REFERÊNCIAS DE declarações. Além disso, o sinal de igual é o único operador válido que pode ser usado em tais consultas. Por exemplo, a seguinte consulta é válida:
ASSOCIATORS OF {win32_LogicalDisk="C:"} WHERE resultClass = Win32_Directory requiredQualifier = Dynamic
Observação
Os exemplos seguintes não são válidos. O primeiro exemplo não usa o sinal de igual e o segundo exemplo erroneamente tenta usar a palavra-chave E.
Associators of {win32_LogicalDisk="C:"} where resultClass = Win32_Directory requiredQualifier <> Dynamic
Associators of {win32_LogicalDisk="C:"} where resultClass = Win32_Directory AND requiredQualifier = Dynamic