ASSOCIATORS OF, instruction
L’instruction ASSOCIATORS OF récupère toutes les instances associées à une instance source particulière. Les instances récupérées sont appelées points de terminaison. Chaque point de terminaison est retourné autant de fois qu’il existe des associations entre celui-ci et l’objet source. Par exemple, supposons qu’il existe des instances A, B, X et Y. Deux instances d’association existent, une qui lie A et X et une autre qui lie B et Y. La requête suivante retourne le point de terminaison unique X :
ASSOCIATORS OF {A}
Toutefois, s’il existe une autre association liant A et X, la requête ci-dessus retourne deux points de terminaison X.
La syntaxe de base de l’instruction ASSOCIATORS OF est la suivante :
ASSOCIATORS OF {ObjectPath}
Notez que les accolades font partie de la syntaxe. Tout chemin d’accès d’objet valide peut être utilisé pour ObjectPath. Les jetons dans le chemin d’accès de l’objet ne peuvent pas contenir d’espace blanc. Par exemple, la requête dans la liste suivante retourne des instances associées au disque logique spécifié :
-
requête :
-
ASSOCIATORS OF {Win32_LogicalDisk.DeviceID="C:"}
-
résultats :
-
Win32_Directory.Name="C:\\"
Win32_ComputerSystem.Name="mycomputer" Win32_DiskPartition.DeviceID="Disk #0, Partition #0"
Comme avec l’instruction SELECT, une instruction ASSOCIATORS OF peut inclure une clause WHERE , mais la clause WHERE d’une instruction ASSOCIATORS OF est très différente de la clause SELECT statementWHERE.
La clause WHERE de l’instruction ASSOCIATORS OF peut inclure un ou plusieurs des mots clés prédéfinis suivants et leurs valeurs :
ASSOCIATORS OF {ObjectPath} WHERE
AssocClass = AssocClassName
ClassDefsOnly
RequiredAssocQualifier = QualifierName
RequiredQualifier = QualifierName
ResultClass = ClassName
ResultRole = PropertyName
Role = PropertyName
Notez que les sous-catégories facultatives ne sont pas séparées par des virgules.
Le mot clé AssocClass indique que les points de terminaison retournés doivent être associés à la source via la classe spécifiée ou l’une de ses classes dérivées. Par exemple, la requête dans la liste suivante retourne uniquement les points de terminaison associés à la source via la classe d’association Win32_SystemDevices ou l’une de ses classes dérivées :
-
requête :
-
ASSOCIATORS OF {Win32_LogicalDisk.DeviceID="C:"} WHERE AssocClass = Win32_SystemDevices
-
résultats :
-
Win32_ComputerSystem.Name="mycomputer"
Le mot clé ClassDefsOnly indique que la clause retourne un jeu de résultats d’objets de définition de classe plutôt que des instances réelles des classes. Ces objets sont les définitions des classes auxquelles appartiennent les instances de point de terminaison. Par exemple, la requête dans la liste suivante retourne des définitions pour les classes Win32_Directory et Win32_ComputerSystem :
-
requête :
-
ASSOCIATORS OF {Win32_LogicalDisk.DeviceID="C:"} WHERE ClassDefsOnly
-
résultats :
-
Win32_Directory
Win32_ComputerSystem Win32_DiskPartition
Les mots clés ClassDefsOnly et ResultClass s’excluent mutuellement. Les utiliser ensemble provoquent une erreur de requête non valide.
Le mot clé RequiredAssocQualifier indique que les points de terminaison retournés doivent être associés à l’objet source via une classe d’association qui inclut le qualificateur spécifié. Ce type de filtrage est utilisé pour éliminer de larges plages de points de terminaison, sauf si les points de terminaison sont associés à la cible via un ensemble particulier de classes d’association étiquetées. Par exemple, la requête de la liste suivante retourne des instances de point de terminaison si la classe d’association inclut un qualificateur appelé Association.
-
requête :
-
ASSOCIATORS OF {Win32_LogicalDisk.DeviceID="C:"} WHERE RequiredAssocQualifier = Association
-
résultats :
-
Win32_Directory.Name="C:\\"
Win32_ComputerSystem.Name="mycomputer" Win32_DiskPartition.DeviceID="Disk #0, Partition #0"
Le mot clé RequiredQualifier indique que les points de terminaison retournés associés à l’objet source doivent inclure le qualificateur spécifié. Le mot clé RequiredQualifier peut être utilisé pour inclure des types particuliers d’instances dans le jeu de résultats. Par exemple, la requête dans la liste suivante retourne des instances de point de terminaison qui incluent un qualificateur appelé paramètres régionaux.
-
requête :
-
ASSOCIATORS OF {Win32_LogicalDisk.DeviceID="C:"} WHERE RequiredQualifier = Locale
-
résultats :
-
Win32_Directory.Name="C:\\"
Win32_ComputerSystem.Name="mycomputer" Win32_DiskPartition.DeviceID="Disk #0, Partition #0"
Le mot clé ResultClass indique que les points de terminaison retournés associés à l’objet source doivent appartenir ou être dérivés de la classe spécifiée. Par exemple, la requête de la liste suivante retourne des instances de point de terminaison dérivées de la classe CIM_Directory :
-
requête :
-
ASSOCIATORS OF {Win32_LogicalDisk.DeviceID="C:"} WHERE ResultClass = Cim_Directory
-
résultats :
-
Win32_Directory.Name="C:\\"
Les mots clés ClassDefsOnly et ResultClass s’excluent mutuellement. Les utiliser ensemble provoquent une erreur de requête non valide.
Le mot clé ResultRole indique que les points de terminaison retournés doivent jouer un rôle particulier dans leur association avec l’objet source. Le rôle est défini par la propriété spécifiée, une propriété de référence de type ref. Par exemple, le mot clé ResultRole peut être utilisé pour récupérer tous les points de terminaison qui ont la propriété GroupComponent dans leur association avec un objet source, comme l’illustre la requête suivante.
-
requête :
-
ASSOCIATORS OF {Win32_LogicalDisk.DeviceID="C:"} WHERE ResultRole = GroupComponent
-
résultats :
-
Win32_ComputerSystem.Name="mycomputer"
Le mot clé Role indique que les points de terminaison retournés participent à une association avec l’objet source où l’objet source joue un rôle particulier. Le rôle est défini par la propriété spécifiée, une propriété de référence de type ref. Par exemple, le mot clé role peut être utilisé pour récupérer tous les points de terminaison associés à un objet source dont la propriété GroupComponent, comme l’illustre la requête suivante.
-
requête :
-
ASSOCIATORS OF {Win32_LogicalDisk.DeviceID="C:"} WHERE Role = GroupComponent
-
résultats :
-
Win32_Directory.Name="C:\\"
Note
Les requêtes complexes ne peuvent pas utiliser « And » ou « Or » pour séparer les mots clés pour les instructions ASSOCIATORS OF et REFERENCES OF. En outre, le signe égal est le seul opérateur valide qui peut être utilisé dans ces requêtes. Par exemple, la requête suivante est valide :
ASSOCIATORS OF {win32_LogicalDisk="C:"} WHERE resultClass = Win32_Directory requiredQualifier = Dynamic
Note
Les exemples suivants ne sont pas valides. Le premier exemple n’utilise pas le signe égal et le deuxième exemple tente par erreur d’utiliser le mot clé AND.
Associators of {win32_LogicalDisk="C:"} where resultClass = Win32_Directory requiredQualifier <> Dynamic
Associators of {win32_LogicalDisk="C:"} where resultClass = Win32_Directory AND requiredQualifier = Dynamic