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
}