Квалификаторы 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
}