Qualificadores do WMI

O WMI tem vários tipos de qualificadores de classe e propriedade. Os qualificadores também podem ter variantes de modificação. Os tipos de qualificadores e variantes a seguir são usados no WMI.

O nome de cada qualificador aparece com seu tipo de dados e um indicador que informa se o qualificador pode ser aplicado a uma classe, uma instância, uma propriedade ou um método. Para qualificadores como Associação (discutido em Metaqualificadores), há uma regra de uso implícita de que o metaqualificador também deve estar presente. Por exemplo, a regra de uso implícita para os qualificadores de Agregação é que o qualificador de Associação também deve estar presente.

Tipo de qualificador Descrição
Meta Refina a definição de metaconstructos esclarecendo o uso real de uma declaração de propriedade ou classe.
Opcional Aborda situações não comuns a todas as implementações compatíveis com o CIM.
Variantes de qualificador Fornece mais informações sobre um qualificador, por exemplo, se uma classe derivada ou instância pode substituir o valor original do qualificador.
Standard Dá suporte às descrições que todas as implementações compatíveis com o CIM devem manipular.
Específico do WMI Descreve qualificadores específicos do WMI, como qualificadores de classe do contador de desempenho.

 

Para obter mais informações sobre como aplicar qualificadores a suas classes do WMI, confira Adicionar um qualificador. Para ver como examinar qualificadores em classes do WMI existentes, confira o código de exemplo abaixo.

Exemplo

O código do PowerShell a seguir, obtido na galeria do TechNet, descreve como recuperar qualificadores de uma classe do 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 
}