Istruzione ASSOCIATORS OF
L'istruzione ASSOCIATORS OF recupera tutte le istanze associate a una determinata istanza di origine. Le istanze recuperate vengono definite endpoint. Ogni endpoint viene restituito il maggior numero di volte in cui sono presenti associazioni tra di esso e l'oggetto di origine. Si supponga, ad esempio, che siano presenti istanze A, B, X e Y. Esistono due istanze di associazione, una che collega A e X e un'altra che collega B e Y. La query seguente restituisce l'endpoint singolo X:
ASSOCIATORS OF {A}
Tuttavia, se è presente un'altra associazione che collega A e X, la query precedente restituisce due endpoint X.
La sintassi di base per l'istruzione ASSOCIATORS OF è:
ASSOCIATORS OF {ObjectPath}
Si noti che le parentesi graffe fanno parte della sintassi. Qualsiasi percorso di oggetto valido può essere usato per ObjectPath. I token all'interno del percorso dell'oggetto non possono contenere spazi vuoti. Ad esempio, la query nell'elenco seguente restituisce le istanze associate al disco logico specificato:
-
Query:
-
ASSOCIATORS OF {Win32_LogicalDisk.DeviceID="C:"}
-
Risultati:
-
Win32_Directory.Name="C:\\"
Win32_ComputerSystem.Name="mycomputer" Win32_DiskPartition.DeviceID="Disk #0, Partition #0"
Come per l'istruzione SELECT, un'istruzione ASSOCIATORS OF può includere una clausola WHERE, ma la clausola WHERE per un'istruzione ASSOCIATORS OF è molto diversa dalla clausola SELECTWHERE.
La clausola WHERE dell'istruzione ASSOCIATORS OF può includere una o più delle parole chiave predefinite seguenti e i relativi valori:
ASSOCIATORS OF {ObjectPath} WHERE
AssocClass = AssocClassName
ClassDefsOnly
RequiredAssocQualifier = QualifierName
RequiredQualifier = QualifierName
ResultClass = ClassName
ResultRole = PropertyName
Role = PropertyName
Si noti che le sottoclause facoltative non sono separate da virgole.
La parola chiave AssocClass indica che gli endpoint restituiti devono essere associati all'origine tramite la classe specificata o una delle relative classi derivate. Ad esempio, la query nell'elenco seguente restituisce solo gli endpoint associati all'origine tramite la classe di associazione Win32_SystemDevices o una delle relative classi derivate:
-
Query:
-
ASSOCIATORS OF {Win32_LogicalDisk.DeviceID="C:"} WHERE AssocClass = Win32_SystemDevices
-
Risultati:
-
Win32_ComputerSystem.Name="mycomputer"
La parola chiave ClassDefsOnly indica che la clausola restituisce un set di risultati di oggetti definizione di classe anziché istanze effettive delle classi. Questi oggetti sono le definizioni delle classi a cui appartengono le istanze dell'endpoint. Ad esempio, la query nell'elenco seguente restituisce definizioni per le classi Win32_Directory e Win32_ComputerSystem :
-
Query:
-
ASSOCIATORS OF {Win32_LogicalDisk.DeviceID="C:"} WHERE ClassDefsOnly
-
Risultati:
-
Win32_Directory
Win32_ComputerSystem Win32_DiskPartition
Le parole chiave ClassDefsOnly e ResultClass si escludono a vicenda. L'uso di tali query causa un errore di query non valido.
La parola chiave RequiredAssocQualifier indica che gli endpoint restituiti devono essere associati all'oggetto di origine tramite una classe di associazione che include il qualificatore specificato. Questo tipo di filtro viene usato per eliminare intervalli estesi di endpoint, a meno che gli endpoint non siano associati alla destinazione tramite un determinato set di classi di associazione con tag. Ad esempio, la query nell'elenco seguente restituisce le istanze dell'endpoint se la classe di associazione include un qualificatore denominato Association.
-
Query:
-
ASSOCIATORS OF {Win32_LogicalDisk.DeviceID="C:"} WHERE RequiredAssocQualifier = Association
-
Risultati:
-
Win32_Directory.Name="C:\\"
Win32_ComputerSystem.Name="mycomputer" Win32_DiskPartition.DeviceID="Disk #0, Partition #0"
La parola chiave RequiredQualifier indica che gli endpoint restituiti associati all'oggetto di origine devono includere il qualificatore specificato. La parola chiave RequiredQualifier può essere usata per includere tipi specifici di istanze nel set di risultati. Ad esempio, la query nell'elenco seguente restituisce le istanze dell'endpoint che includono un qualificatore denominato Impostazioni locali.
-
Query:
-
ASSOCIATORS OF {Win32_LogicalDisk.DeviceID="C:"} WHERE RequiredQualifier = Locale
-
Risultati:
-
Win32_Directory.Name="C:\\"
Win32_ComputerSystem.Name="mycomputer" Win32_DiskPartition.DeviceID="Disk #0, Partition #0"
La parola chiave ResultClass indica che gli endpoint restituiti associati all'oggetto di origine devono appartenere o essere derivati dalla classe specificata. Ad esempio, la query nell'elenco seguente restituisce le istanze dell'endpoint derivate dalla classe CIM_Directory :
-
Query:
-
ASSOCIATORS OF {Win32_LogicalDisk.DeviceID="C:"} WHERE ResultClass = Cim_Directory
-
Risultati:
-
Win32_Directory.Name="C:\\"
Le parole chiave ClassDefsOnly e ResultClass si escludono a vicenda. L'uso di tali query causa un errore di query non valido.
La parola chiave ResultRole indica che gli endpoint restituiti devono svolgere un ruolo specifico nell'associazione con l'oggetto di origine. Il ruolo è definito dalla proprietà specificata, una proprietà di riferimento di tipo ref. Ad esempio, la parola chiave ResultRole può essere usata per recuperare tutti gli endpoint che dispongono della proprietà GroupComponent nell'associazione a un oggetto di origine, come illustrato nella query seguente.
-
Query:
-
ASSOCIATORS OF {Win32_LogicalDisk.DeviceID="C:"} WHERE ResultRole = GroupComponent
-
Risultati:
-
Win32_ComputerSystem.Name="mycomputer"
La parola chiave Role indica che gli endpoint restituiti partecipano a un'associazione con l'oggetto di origine in cui l'oggetto di origine svolge un ruolo specifico. Il ruolo è definito dalla proprietà specificata, una proprietà di riferimento di tipo ref. Ad esempio, la parola chiave Role può essere usata per recuperare tutti gli endpoint associati a un oggetto di origine con la proprietà GroupComponent , come illustrato nella query seguente.
-
Query:
-
ASSOCIATORS OF {Win32_LogicalDisk.DeviceID="C:"} WHERE Role = GroupComponent
-
Risultati:
-
Win32_Directory.Name="C:\\"
Nota
Le query complesse non possono usare "And" o "Or" per separare le parole chiave per le istruzioni ASSOCIATORS OF e REFERENCES OF . Inoltre, il segno di uguale è l'unico operatore valido che può essere usato in tali query. Viene ad esempio considerata valida la query seguente:
ASSOCIATORS OF {win32_LogicalDisk="C:"} WHERE resultClass = Win32_Directory requiredQualifier = Dynamic
Nota
Gli esempi successivi non sono validi. Il primo esempio non usa il segno di uguale e il secondo esempio tenta erroneamente di usare la parola chiave AND .
Associators of {win32_LogicalDisk="C:"} where resultClass = Win32_Directory requiredQualifier <> Dynamic
Associators of {win32_LogicalDisk="C:"} where resultClass = Win32_Directory AND requiredQualifier = Dynamic