ASSOCIATORS OF Deyimi
ASSOCIATORS OF deyimi, belirli bir kaynak örnekle ilişkili tüm örnekleri alır. Alınan örnekler uç noktalar olarak adlandırılır. Her uç nokta, kaynak nesneyle arasında ilişkilendirmeler olduğu kadar çok kez döndürülür. Örneğin, A, B, X ve Y örnekleri olduğunu varsayalım. Biri A ve X'i, diğeri de B ve Y'yi bağlayan iki ilişkilendirme örneği vardır. Aşağıdaki sorgu tek uç nokta X'i döndürür:
ASSOCIATORS OF {A}
Ancak, A ve X'i bağlayan başka bir ilişkilendirme varsa, yukarıdaki sorgu iki X uç noktası döndürür.
ASSOCIATORS OF deyiminin temel söz dizimi şöyledir:
ASSOCIATORS OF {ObjectPath}
Ayraçların söz diziminin bir parçası olduğunu unutmayın. ObjectPath için geçerli herhangi bir nesne yolu kullanılabilir. Nesne yolundaki belirteçler boşluk içeremez. Örneğin, aşağıdaki listedeki sorgu, belirtilen mantıksal diskle ilişkili örnekleri döndürür:
-
Sorgusu:
-
ASSOCIATORS OF {Win32_LogicalDisk.DeviceID="C:"}
-
Sonuçları:
-
Win32_Directory.Name="C:\\"
Win32_ComputerSystem.Name="mycomputer" Win32_DiskPartition.DeviceID="Disk #0, Partition #0"
SELECT deyiminde olduğu gibi, ASSOCIATORS OF deyimi birWHERE yan tümcesi içerebilir, ancak ASSOCIATORS OF deyiminin WHERE yan tümcesi SELECT deyimiWHERE yan tümcesinden çok farklıdır.
ASSOCIATORS OF deyiminin WHERE yan tümcesi, aşağıdaki önceden tanımlanmış anahtar sözcüklerden birini veya daha fazlasını ve bunların değerlerini içerebilir:
ASSOCIATORS OF {ObjectPath} WHERE
AssocClass = AssocClassName
ClassDefsOnly
RequiredAssocQualifier = QualifierName
RequiredQualifier = QualifierName
ResultClass = ClassName
ResultRole = PropertyName
Role = PropertyName
İsteğe bağlı alt modüllerin virgülle ayrılmadığını unutmayın.
AssocClass anahtar sözcüğü, döndürülen uç noktaların belirtilen sınıf veya türetilmiş sınıflarından biri aracılığıyla kaynakla ilişkilendirilmesi gerektiğini gösterir. Örneğin, aşağıdaki listedeki sorgu yalnızca Win32_SystemDevices ilişkilendirme sınıfı veya türetilmiş sınıflarından herhangi biri aracılığıyla kaynakla ilişkilendirilmiş uç noktaları döndürür:
-
Sorgusu:
-
ASSOCIATORS OF {Win32_LogicalDisk.DeviceID="C:"} WHERE AssocClass = Win32_SystemDevices
-
Sonuçları:
-
Win32_ComputerSystem.Name="mycomputer"
ClassDefsOnly anahtar sözcüğü yan tümcesinin sınıfların gerçek örnekleri yerine sınıf tanımı nesnelerinin sonuç kümesini döndürdüğünü gösterir. Bu nesneler, uç nokta örneklerinin ait olduğu sınıfların tanımlarıdır. Örneğin, aşağıdaki listedeki sorgu Win32_Directory ve Win32_ComputerSystem sınıfları için tanımları döndürür:
-
Sorgusu:
-
ASSOCIATORS OF {Win32_LogicalDisk.DeviceID="C:"} WHERE ClassDefsOnly
-
Sonuçları:
-
Win32_Directory
Win32_ComputerSystem Win32_DiskPartition
ClassDefsOnly ve ResultClass anahtar sözcükleri birbirini dışlar. Bunları birlikte kullanmak geçersiz bir sorgu hatasına neden olur.
RequiredAssocQualifier anahtar sözcüğü, döndürülen uç noktaların belirtilen niteleyiciyi içeren bir ilişkilendirme sınıfı aracılığıyla kaynak nesneyle ilişkilendirilmesi gerektiğini gösterir. Bu tür filtreleme, uç noktalar belirli bir etiketli ilişkilendirme sınıfları kümesi aracılığıyla hedefle ilişkilendirilmediği sürece geniş uç nokta aralıklarını ortadan kaldırmak için kullanılır. Örneğin, ilişkilendirme sınıfı Associationadlı bir niteleyici içeriyorsa, aşağıdaki listedeki sorgu uç nokta örneklerini döndürür.
-
Sorgusu:
-
ASSOCIATORS OF {Win32_LogicalDisk.DeviceID="C:"} WHERE RequiredAssocQualifier = Association
-
Sonuçları:
-
Win32_Directory.Name="C:\\"
Win32_ComputerSystem.Name="mycomputer" Win32_DiskPartition.DeviceID="Disk #0, Partition #0"
RequiredQualifier anahtar sözcüğü, kaynak nesneyle ilişkili döndürülen uç noktaların belirtilen niteleyiciyi içermesi gerektiğini gösterir. RequiredQualifier anahtar sözcüğü, sonuç kümesine belirli örnek türlerini eklemek için kullanılabilir. Örneğin, aşağıdaki listedeki sorgu, Localeadlı niteleyiciyi içeren uç nokta örneklerini döndürür.
-
Sorgusu:
-
ASSOCIATORS OF {Win32_LogicalDisk.DeviceID="C:"} WHERE RequiredQualifier = Locale
-
Sonuçları:
-
Win32_Directory.Name="C:\\"
Win32_ComputerSystem.Name="mycomputer" Win32_DiskPartition.DeviceID="Disk #0, Partition #0"
ResultClass anahtar sözcüğü, kaynak nesneyle ilişkili döndürülen uç noktaların belirtilen sınıfa ait olması veya bu sınıftan türetilmesi gerektiğini gösterir. Örneğin, aşağıdaki listedeki sorgu, CIM_Directory sınıfından türetilen uç nokta örneklerini döndürür:
-
Sorgusu:
-
ASSOCIATORS OF {Win32_LogicalDisk.DeviceID="C:"} WHERE ResultClass = Cim_Directory
-
Sonuçları:
-
Win32_Directory.Name="C:\\"
ClassDefsOnly ve ResultClass anahtar sözcükleri birbirini dışlar. Bunları birlikte kullanmak geçersiz bir sorgu hatasına neden olur.
ResultRole anahtar sözcüğü, döndürülen uç noktaların kaynak nesneyle ilişkilerinde belirli bir rol oynaması gerektiğini gösterir. Rol, başvtüründe bir başvuru özelliği olan belirtilen özellik tarafından tanımlanır. Örneğin, ResultRole anahtar sözcüğü, aşağıdaki sorguda gösterildiği gibi bir kaynak nesneyle ilişkilendirmesinde GroupComponent özelliğine sahip tüm uç noktaları almak için kullanılabilir.
-
Sorgusu:
-
ASSOCIATORS OF {Win32_LogicalDisk.DeviceID="C:"} WHERE ResultRole = GroupComponent
-
Sonuçları:
-
Win32_ComputerSystem.Name="mycomputer"
Rolü anahtar sözcüğü, döndürülen uç noktaların kaynak nesnenin belirli bir rolü oynadığı kaynak nesneyle bir ilişkilendirmeye katıldığını gösterir. Rol, başvtüründe bir başvuru özelliği olan belirtilen özellik tarafından tanımlanır. Örneğin, Rolü anahtar sözcüğü, aşağıdaki sorguda gösterildiği gibi GroupComponent özelliğine sahip bir kaynak nesneyle ilişkili tüm uç noktaları almak için kullanılabilir.
-
Sorgusu:
-
ASSOCIATORS OF {Win32_LogicalDisk.DeviceID="C:"} WHERE Role = GroupComponent
-
Sonuçları:
-
Win32_Directory.Name="C:\\"
Not
Karmaşık sorgular ASSOCIATORS OF anahtar sözcüklerini ayırmak için "And" veya "Or" kullanamaz ve deyimlerinin BAŞVURULARıNı. Ayrıca, eşittir işareti bu tür sorgularda kullanılabilecek tek geçerli işleçtir. Örneğin, aşağıdaki sorgu geçerlidir:
ASSOCIATORS OF {win32_LogicalDisk="C:"} WHERE resultClass = Win32_Directory requiredQualifier = Dynamic
Not
Sonraki örnekler geçerli değil. İlk örnek eşittir işaretini kullanmaz ve ikinci örnek yanlışlıkla AND anahtar sözcüğünü kullanmayı dener.
Associators of {win32_LogicalDisk="C:"} where resultClass = Win32_Directory requiredQualifier <> Dynamic
Associators of {win32_LogicalDisk="C:"} where resultClass = Win32_Directory AND requiredQualifier = Dynamic