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
}