WMI 修飾子
WMI には、いくつかの種類のクラスとプロパティの "修飾子" があります。 修飾子には、変更する "フレーバー" を含めることもできます。 WMI では、次の種類の修飾子とフレーバーが使用されます。
各修飾子の名前は、そのデータ型と、クラス、インスタンス、プロパティ、メソッドに修飾子を適用できるかどうかを示すインジケーターとともに表示されます。 関連付け (メタ修飾子で説明) などの修飾子には、メタ修飾子も存在する必要がある暗黙的な使用規則があります。 たとえば、集計修飾子の暗黙的な使用規則は、関連付け修飾子も存在する必要があるということです。
修飾子の種類 | 説明 |
---|---|
メタ | クラスまたはプロパティ宣言の実際の使用法を明確にすることで、メタコンストラクトの定義を調整します。 |
Optional | CIM 準拠のすべての実装に共通しない状況に対処します。 |
修飾子のフレーバー | 派生クラスまたはインスタンスが修飾子の元の値をオーバーライドできるかどうかなど、修飾子に関する追加情報を提供します。 |
Standard | CIM 準拠のすべての実装で処理する必要がある説明をサポートします。 |
WMI 固有 | パフォーマンス カウンター クラス修飾子など、WMI に固有の修飾子について説明します。 |
WMI クラスに修飾子を適用する方法について詳しくは、「修飾子の追加」を参照してください。 既存の WMI クラスの修飾子を調べる方法については、以下のコード例を参照してください。
例
TechNet ギャラリーから取得した次の PowerShell コードでは、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
}