WMI-Qualifizierer

WMI umfasst mehrere Typen von Qualifizierern für Klassen und Eigenschaften. Qualifizierer können auch unterschiedliche Varianten aufweisen. In WMI werden die folgenden Typen von Qualifizierern und Varianten verwendet.

Der Name jedes Qualifizierers wird mit seinem Datentyp und einem Hinweis darauf angezeigt, ob der Qualifizierer auf eine Klasse, Instanz, Eigenschaft oder Methode angewendet werden kann. Für Qualifizierer wie Assoziation (siehe Metaqualifizierer) gibt es eine implizite Verwendungsregel, die besagt, dass der Metaqualifizierer ebenfalls vorhanden sein muss. Die implizite Verwendungsregel für Qualifizierer vom Typ Aggregation lautet beispielsweise, dass auch der Qualifizierer Assoziation vorhanden sein muss.

Qualifizierertyp BESCHREIBUNG
Meta Präzisiert die Definition von Metakonstrukten, indem die tatsächliche Verwendung einer Klassen- oder Eigenschaftsdeklaration dargelegt wird.
Optional Deckt Situationen ab, die nicht für alle CIM-konformen Implementierungen gelten.
Qualifizierervarianten Bietet weitere Informationen zu einem Qualifizierer, z. B. ob eine abgeleitete Klasse oder Instanz den ursprünglichen Wert des Qualifizierers überschreiben kann.
Standard Unterstützt die Beschreibungen, die alle CIM-konformen Implementierungen verarbeiten müssen.
WMI-spezifisch Beschreibt WMI-spezifische Qualifizierer, z. B. Qualifizierer für Leistungsindikatorklassen.

 

Weitere Informationen zum Anwenden von Qualifizierern auf Ihre WMI-Klassen finden Sie unter Hinzufügen eines Qualifizierers. Dem nachstehenden Beispielcode können Sie entnehmen, wie Qualifizierer für vorhandene WMI-Klassen untersucht werden.

Beispiel

Im folgenden PowerShell-Code aus dem TechNet-Katalog wird beschrieben, wie Qualifizierer aus einer WMI-Klasse abgerufen werden.

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 
}