WMI-Qualifizierer
WMI verfügt über mehrere Typen von Klassen und Eigenschaften Qualifizierern. Qualifizierer können auch Aromenändern. Die folgenden Arten von Qualifizierern und Aromen werden in WMI verwendet.
Der Name jedes Qualifizierers wird mit seinem Datentyp und einem Indikator angezeigt, ob der Qualifizierer auf eine Klasse, Instanz, Eigenschaft oder Methode angewendet werden kann. Für Qualifizierer wie Association (unter Metaqualifizierererläutert) gibt es eine implizite Verwendungsregel, die auch der Metaqualifizierer vorhanden sein muss. Die implizite Verwendungsregel für die Aggregation Qualifizierer ist beispielsweise, dass der Association Qualifizierer ebenfalls vorhanden sein muss.
Qualifizierertyp | Beschreibung |
---|---|
Meta- | Optimiert die Definition von Metakonstrukten, indem die tatsächliche Verwendung einer Klasse oder Eigenschaftsdeklaration klargestellt wird. |
Optionaler | Behebt Situationen, die nicht allen CIM-konformen Implementierungen gemeinsam sind. |
Qualifizierer | Enthält 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-kompatiblen Implementierungen verarbeiten müssen. |
WMI-spezifischen | Beschreibt Qualifizierer, die für WMI spezifisch sind, z. B. Leistungsindikator-Klassenqualifizierer. |
Weitere Informationen zum Anwenden von Qualifizierern auf Ihre WMI-Klassen finden Sie unter Hinzufügen eines Qualifizierers. Informationen zum Untersuchen von Qualifizierern für vorhandene WMI-Klassen finden Sie im folgenden Beispielcode.
Beispiel
Der folgende PowerShell-Code beschreibt, 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
}