Instrucción ASSOCIATORS OF
La instrucción ASSOCIATORS OF recupera todas las instancias asociadas a una instancia de origen determinada. Las instancias recuperadas se conocen como puntos de conexión. Cada punto de conexión se devuelve tantas veces como asociaciones haya entre él y el objeto de origen. Por ejemplo, supongamos que existen las instancias A, B, X e Y. Hay dos instancias de asociación, una que vincula A y X, y otra que vincula B e Y. La siguiente consulta devuelve el punto de conexión único X:
ASSOCIATORS OF {A}
Sin embargo, si hay otra asociación que vincula A y X, la consulta anterior devuelve dos puntos de conexión X.
La sintaxis básica de la instrucción ASSOCIATORS OF es:
ASSOCIATORS OF {ObjectPath}
Tenga en cuenta que las llaves forman parte de la sintaxis. Cualquier ruta de acceso de un objeto válida se puede usar para ObjectPath. Los tokens de la ruta de acceso del objeto no pueden contener ningún espacio en blanco. Por ejemplo, la consulta de la siguiente lista devuelve instancias asociadas al disco lógico especificado:
-
Consulta:
-
ASSOCIATORS OF {Win32_LogicalDisk.DeviceID="C:"}
-
Resultado:
-
Win32_Directory.Name="C:\\"
Win32_ComputerSystem.Name="mycomputer" Win32_DiskPartition.DeviceID="Disk #0, Partition #0"
Igual que sucede con la instrucción SELECT, una instrucción ASSOCIATORS OF puede incluir una cláusula WHERE, pero la cláusula WHERE de una instrucción ASSOCIATORS OF es muy diferente de la cláusula WHERE dela instrucción SELECT.
La cláusula WHERE de la instrucción ASSOCIATORS OF puede incluir una o varias de las siguientes palabras clave predefinidas y sus valores:
ASSOCIATORS OF {ObjectPath} WHERE
AssocClass = AssocClassName
ClassDefsOnly
RequiredAssocQualifier = QualifierName
RequiredQualifier = QualifierName
ResultClass = ClassName
ResultRole = PropertyName
Role = PropertyName
Tenga en cuenta que las subclases opcionales no están separadas por comas.
La palabra clave AssocClass indica que los puntos de conexión devueltos deben estar asociados con el origen a través de la clase especificada o una de sus clases derivadas. Por ejemplo, la consulta de la siguiente lista devuelve solo los puntos de conexión asociados al origen a través de la clase de asociación Win32_SystemDevices, o cualquiera de sus clases derivadas:
-
Consulta:
-
ASSOCIATORS OF {Win32_LogicalDisk.DeviceID="C:"} WHERE AssocClass = Win32_SystemDevices
-
Resultado:
-
Win32_ComputerSystem.Name="mycomputer"
La palabra clave ClassDefsOnly indica que la cláusula devuelve un conjunto de resultados de objetos de definición de clase, en lugar de las instancias reales de las clases. Estos objetos son las definiciones de clases a las que pertenecen las instancias de punto de conexión. Por ejemplo, la consulta de la siguiente lista devuelve las definiciones de las clases Win32_Directory y Win32_ComputerSystem:
-
Consulta:
-
ASSOCIATORS OF {Win32_LogicalDisk.DeviceID="C:"} WHERE ClassDefsOnly
-
Resultado:
-
Win32_Directory
Win32_ComputerSystem Win32_DiskPartition
Las palabras clave ClassDefsOnly y ResultClass se excluyen mutuamente. Si se usan conjuntamente, aparece un error de consulta no válida.
La palabra clave RequiredAssocQualifier indica que los puntos de conexión devueltos deben asociarse al objeto de origen mediante una clase de asociación que incluya el calificador especificado. Este tipo de filtrado se usa para eliminar intervalos amplios de puntos de conexión, a menos que los puntos de conexión estén asociados al destino a través de un conjunto determinado de clases de asociación etiquetadas. Por ejemplo, la consulta de la siguiente lista devuelve instancias de punto de conexión si la clase de asociación incluye un calificador denominado Association.
-
Consulta:
-
ASSOCIATORS OF {Win32_LogicalDisk.DeviceID="C:"} WHERE RequiredAssocQualifier = Association
-
Resultado:
-
Win32_Directory.Name="C:\\"
Win32_ComputerSystem.Name="mycomputer" Win32_DiskPartition.DeviceID="Disk #0, Partition #0"
La palabra clave RequiredQualifier indica que los puntos de conexión devueltos asociados al objeto de origen deben incluir el calificador especificado. La palabra clave RequiredQualifier se puede usar para incluir tipos de instancias concretos en el conjunto de resultados. Por ejemplo, la consulta de la siguiente lista devuelve instancias de punto de conexión que incluyen un calificador denominado Locale.
-
Consulta:
-
ASSOCIATORS OF {Win32_LogicalDisk.DeviceID="C:"} WHERE RequiredQualifier = Locale
-
Resultado:
-
Win32_Directory.Name="C:\\"
Win32_ComputerSystem.Name="mycomputer" Win32_DiskPartition.DeviceID="Disk #0, Partition #0"
La palabra clave ResultClass indica que los puntos de conexión devueltos asociados al objeto de origen deben pertenecer a la clase especificada, o derivarse ella. Por ejemplo, la consulta de la siguiente lista devuelve instancias de punto de conexión que se derivan de la clase CIM_Directory:
-
Consulta:
-
ASSOCIATORS OF {Win32_LogicalDisk.DeviceID="C:"} WHERE ResultClass = Cim_Directory
-
Resultado:
-
Win32_Directory.Name="C:\\"
Las palabras clave ClassDefsOnly y ResultClass se excluyen mutuamente. Si se usan conjuntamente, aparece un error de consulta no válida.
La palabra clave ResultRole indica que los puntos de conexión devueltos deben desempeñar un rol determinado en su asociación con el objeto de origen. El rol lo define la propiedad especificada, una propiedad de referencia del tipo ref. Por ejemplo, la palabra clave ResultRole se puede usar para recuperar todos los puntos de conexión que tienen la propiedad GroupComponent en su asociación con un objeto de origen, como se muestra en la consulta siguiente.
-
Consulta:
-
ASSOCIATORS OF {Win32_LogicalDisk.DeviceID="C:"} WHERE ResultRole = GroupComponent
-
Resultado:
-
Win32_ComputerSystem.Name="mycomputer"
La palabra clave Role indica que los puntos de conexión devueltos deben participar en una asociación con el objeto de origen en que el objeto de origen desempeña un rol determinado. El rol lo define la propiedad especificada, una propiedad de referencia del tipo ref. Por ejemplo, la palabra clave Role se puede usar para recuperar todos los puntos de conexión asociados con un objeto de origen que tienen la propiedad GroupComponent, como se muestra en la consulta siguiente.
-
Consulta:
-
ASSOCIATORS OF {Win32_LogicalDisk.DeviceID="C:"} WHERE Role = GroupComponent
-
Resultado:
-
Win32_Directory.Name="C:\\"
Nota
Las consultas complejas no pueden usar "And" u "Or" para separar palabras clave para las instrucciones ASSOCIATORS OF y REFERENCES OF. Además, el signo igual es el único operador válido que se puede usar en dichas consultas. Por ejemplo, la consulta siguiente es válida:
ASSOCIATORS OF {win32_LogicalDisk="C:"} WHERE resultClass = Win32_Directory requiredQualifier = Dynamic
Nota
Los ejemplos siguientes no son válidos. El primer ejemplo no usa el signo igual y el segundo ejemplo intenta erróneamente usar la palabra clave AND.
Associators of {win32_LogicalDisk="C:"} where resultClass = Win32_Directory requiredQualifier <> Dynamic
Associators of {win32_LogicalDisk="C:"} where resultClass = Win32_Directory AND requiredQualifier = Dynamic