Квалификаторы WMI

WMI имеет несколько типов квалификаторов классов и свойств. Квалификаторы также могут изменять вкусы. В WMI используются следующие типы квалификаторов и вкусов.

Имя каждого квалификатора отображается с типом данных и индикатором того, может ли квалификатор применяться к классу, экземпляру, свойству или методу. Для квалификаторов, таких как Ассоциация (обсуждается в разделе мета квалификаторов), существует подразумеваемое правило использования, которое также должно присутствовать мета квалификатор. Например, неявное правило использования для квалификаторов агрегирования заключается в том, что квалификатор ассоциации также должен присутствовать.

Тип квалификатора Description
Meta Уточнение определения метаконструкционов путем уточнения фактического использования объявления класса или свойства.
Необязательно Устраняет ситуации, не распространенные для всех реализаций, совместимых с CIM.
Квалификатор вкусов Предоставляет дополнительные сведения о квалификаторе, например о том, может ли производный класс или экземпляр переопределить исходное значение квалификатора.
Стандартные Поддерживает описания, которые должны обрабатывать все реализации, совместимые с CIM.
Определенный WMI Описывает квалификаторы, относящиеся к WMI, например квалификаторы квалификаторов счетчиков производительности.

 

Дополнительные сведения о применении квалификаторов к классам WMI см. в разделе "Добавление квалификатора". Чтобы узнать, как изучить квалификаторы в существующих классах WMI, см. пример кода ниже.

Пример

В следующем коде PowerShell описывается, как получить квалификаторы из класса WMI.

Function Get-WMIClassesWithQualifiers 
{ 
 Param([string]$qualifier = "dynamic", 
  [string]$namespace = "root\cimv2") 
 $classes = Gwmi -list -namespace $namespace 
 foreach($class in $classes) 
 { 
  $query = "select * from meta_class where __this isa ""$($class.name)"" " 
  $a = gwmi -Query $query -Namespace $namespace |  
  select -Property __class, qualifiers 
   if($a.qualifiers | % { $_ | ? { $_.name -match "$qualifier" }}) 
    { $a.__class } 
  } #end foreach $class 
}