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