Udostępnij za pośrednictwem


ASSOCIATORS OF, instrukcja

Instrukcja ASSOCIATORS OF pobiera wszystkie wystąpienia skojarzone z konkretnym wystąpieniem źródłowym. Pobrane wystąpienia są określane jako punkty końcowe. Każdy punkt końcowy jest zwracany tyle razy, ile istnieją skojarzenia między nim a obiektem źródłowym. Załóżmy na przykład, że istnieją wystąpienia A, B, X i Y. Istnieją dwa wystąpienia skojarzeń, które łączą A i X, a drugie, które łączą B i Y. Następujące zapytanie zwraca pojedynczy punkt końcowy X:

ASSOCIATORS OF {A}

Jeśli jednak istnieje inne skojarzenie łączące A i X, powyższe zapytanie zwraca dwa punkty końcowe X.

Podstawowa składnia instrukcji ASSOCIATORS OF to:

ASSOCIATORS OF {ObjectPath}

Należy pamiętać, że nawiasy klamrowe są częścią składni. Dla obiektu ObjectPath można użyć dowolnej prawidłowej ścieżki obiektu. Tokeny w ścieżce obiektu nie mogą zawierać żadnych białych znaków. Na przykład zapytanie na poniższej liście zwraca wystąpienia skojarzone z określonym dyskiem logicznym:

zapytanie :

ASSOCIATORS OF {Win32_LogicalDisk.DeviceID="C:"}

wyniki :

Win32_Directory.Name="C:\\"
Win32_ComputerSystem.Name="mycomputer"
Win32_DiskPartition.DeviceID="Disk #0, Partition #0"

Podobnie jak w przypadku instrukcji SELECTinstrukcja ASSOCIATORS OF może zawierać klauzulę WHERE, ale klauzula WHERE instrukcji ASSOCIATORS OF różni się zupełnie od klauzuli SELECT statementWHERE.

Klauzula WHERE instrukcji ASSOCIATORS OF może zawierać co najmniej jedno z następujących wstępnie zdefiniowanych słów kluczowych i ich wartości:

ASSOCIATORS OF {ObjectPath} WHERE
    AssocClass = AssocClassName
    ClassDefsOnly
    RequiredAssocQualifier = QualifierName
    RequiredQualifier = QualifierName
    ResultClass = ClassName
    ResultRole = PropertyName
    Role = PropertyName

Należy pamiętać, że opcjonalne podklasy nie są oddzielone przecinkami.

Słowo kluczowe AssocClass wskazuje, że zwrócone punkty końcowe muszą być skojarzone ze źródłem za pośrednictwem określonej klasy lub jednej z jej klas pochodnych. Na przykład zapytanie na poniższej liście zwraca tylko punkty końcowe skojarzone ze źródłem za pośrednictwem klasy skojarzenia Win32_SystemDevices lub dowolnej z jej klas pochodnych:

zapytanie :

ASSOCIATORS OF {Win32_LogicalDisk.DeviceID="C:"} WHERE AssocClass = Win32_SystemDevices

wyniki :

Win32_ComputerSystem.Name="mycomputer"

Słowo kluczowe ClassDefsOnly wskazuje, że klauzula zwraca zestaw wyników obiektów definicji klasy, a nie rzeczywiste wystąpienia klas. Te obiekty to definicje klas, do których należą wystąpienia punktu końcowego. Na przykład zapytanie na poniższej liście zwraca definicje klas Win32_Directory i Win32_ComputerSystem:

zapytanie :

ASSOCIATORS OF {Win32_LogicalDisk.DeviceID="C:"} WHERE ClassDefsOnly

wyniki :

Win32_Directory
Win32_ComputerSystem
Win32_DiskPartition

Słowa kluczowe ClassDefsOnly i ResultClass wzajemnie się wykluczają. Użycie ich razem powoduje błąd nieprawidłowego zapytania.

Słowo kluczowe RequiredAssocQualifier wskazuje, że zwrócone punkty końcowe muszą być skojarzone z obiektem źródłowym za pośrednictwem klasy skojarzenia zawierającej określony kwalifikator. Ten typ filtrowania służy do eliminowania szerokiego zakresu punktów końcowych, chyba że punkty końcowe są skojarzone z obiektem docelowym za pomocą określonego zestawu oznakowanych klas skojarzeń. Na przykład zapytanie na poniższej liście zwraca wystąpienia punktu końcowego, jeśli klasa skojarzenia zawiera kwalifikator o nazwie Association.

zapytanie :

ASSOCIATORS OF {Win32_LogicalDisk.DeviceID="C:"}
   WHERE RequiredAssocQualifier = Association

wyniki :

Win32_Directory.Name="C:\\"
Win32_ComputerSystem.Name="mycomputer"
Win32_DiskPartition.DeviceID="Disk #0, Partition #0"

Słowo kluczowe RequiredQualifier wskazuje, że zwrócone punkty końcowe skojarzone z obiektem źródłowym muszą zawierać określony kwalifikator. Słowo kluczowe RequiredQualifier może służyć do uwzględnienia określonych typów wystąpień w zestawie wyników. Na przykład zapytanie na poniższej liście zwraca wystąpienia punktów końcowych zawierające kwalifikator o nazwie ustawienia regionalne.

zapytanie :

ASSOCIATORS OF {Win32_LogicalDisk.DeviceID="C:"} WHERE RequiredQualifier = Locale

wyniki :

Win32_Directory.Name="C:\\"
Win32_ComputerSystem.Name="mycomputer"
Win32_DiskPartition.DeviceID="Disk #0, Partition #0"

Słowo kluczowe ResultClass wskazuje, że zwrócone punkty końcowe skojarzone z obiektem źródłowym muszą należeć do określonej klasy lub pochodzić z określonej klasy. Na przykład zapytanie na poniższej liście zwraca wystąpienia punktu końcowego pochodzące z klasy CIM_Directory:

zapytanie :

ASSOCIATORS OF {Win32_LogicalDisk.DeviceID="C:"} WHERE ResultClass = Cim_Directory

wyniki :

Win32_Directory.Name="C:\\"

Słowa kluczowe ClassDefsOnly i ResultClass wzajemnie się wykluczają. Użycie ich razem powoduje błąd nieprawidłowego zapytania.

Słowo kluczowe ResultRole wskazuje, że zwrócone punkty końcowe muszą odgrywać określoną rolę w skojarzeniu z obiektem źródłowym. Rola jest definiowana przez określoną właściwość , właściwość odwołania typu ref. Na przykład słowo kluczowe ResultRole może służyć do pobierania wszystkich punktów końcowych, które mają właściwość GroupComponent w skojarzeniu z obiektem źródłowym, jak pokazano w poniższym zapytaniu.

zapytanie :

ASSOCIATORS OF {Win32_LogicalDisk.DeviceID="C:"} WHERE ResultRole = GroupComponent

wyniki :

Win32_ComputerSystem.Name="mycomputer"

Słowo kluczowe roli wskazuje, że zwrócone punkty końcowe uczestniczą w skojarzeniu z obiektem źródłowym, w którym obiekt źródłowy odgrywa określoną rolę. Rola jest definiowana przez określoną właściwość , właściwość odwołania typu ref. Na przykład słowo kluczowe roli może służyć do pobierania wszystkich punktów końcowych skojarzonych z obiektem źródłowym, który ma właściwość GroupComponent, jak pokazano w poniższym zapytaniu.

zapytanie :

ASSOCIATORS OF {Win32_LogicalDisk.DeviceID="C:"}
   WHERE Role = GroupComponent

wyniki :

Win32_Directory.Name="C:\\"

Nuta

Złożone zapytania nie mogą używać instrukcji "And" lub "Or", aby oddzielić słowa kluczowe ASSOCIATORS OF i REFERENCES OF. Ponadto znak równości jest jedynym prawidłowym operatorem, który może być używany w takich zapytaniach. Na przykład następujące zapytanie jest prawidłowe:

 

ASSOCIATORS OF {win32_LogicalDisk="C:"} WHERE resultClass = Win32_Directory requiredQualifier = Dynamic

Nuta

Następne przykłady są nieprawidłowe. Pierwszy przykład nie używa znaku równości, a drugi przykład błędnie próbuje użyć słowa kluczowego AND.

 

Associators of {win32_LogicalDisk="C:"} where resultClass = Win32_Directory requiredQualifier <> Dynamic

Associators of {win32_LogicalDisk="C:"} where resultClass = Win32_Directory AND requiredQualifier = Dynamic