このエントリーをはてなブックマークに追加


PowerShellでWMIのクラス一覧を取得する

PowerShellのGet-WMIObjectコマンドレットを使用することにより、WMIのクラス一覧を表示することができます。
以下に実行例を記します。


関連記事

WMIクラスの一覧表示

WMIのクラス一覧を表示するには、以下の構文のコマンドを実行します。

Get-WmiObject -Class meta_class

実行すると以下のように表示されます。

PS C:\> Get-WmiObject -Class meta_class | more


   NameSpace: ROOT\CIMV2

Name                                Methods              Properties
----                                -------              ----------
__SystemClass                       {}                   {}
__thisNAMESPACE                     {}                   {SECURITY_DESCRIPTOR}
__Provider                          {}                   {Name}
__Win32Provider                     {}                   {ClientLoadableCLSID, CLSID, Concurrency, DefaultMachineNam...
__ProviderRegistration              {}                   {provider}
__EventProviderRegistration         {}                   {EventQueryList, provider}
__ObjectProviderRegistration        {}                   {InteractionType, provider, QuerySupportLevels, SupportsBat...
__ClassProviderRegistration         {}                   {CacheRefreshInterval, InteractionType, PerUserSchema, prov...
__InstanceProviderRegistration      {}                   {InteractionType, provider, QuerySupportLevels, SupportsBat...
__MethodProviderRegistration        {}                   {provider}
__PropertyProviderRegistration      {}                   {provider, SupportsGet, SupportsPut}
__EventConsumerProviderRegistration {}                   {ConsumerClassNames, provider}
__NAMESPACE                         {}                   {Name}
__IndicationRelated                 {}                   {}
__EventFilter                       {}                   {CreatorSID, EventAccess, EventNamespace, Name...}
__EventConsumer                     {}                   {CreatorSID, MachineName, MaximumQueueSize}
__FilterToConsumerBinding           {}                   {Consumer, CreatorSID, DeliverSynchronously, DeliveryQoS...}
__AggregateEvent                    {}                   {NumberOfEvents, Representative}
__TimerNextFiring                   {}                   {NextEvent64BitTime, TimerId}
__Event                             {}                   {SECURITY_DESCRIPTOR, TIME_CREATED}
__ExtrinsicEvent                    {}                   {SECURITY_DESCRIPTOR, TIME_CREATED}
Win32_DeviceChangeEvent             {}                   {EventType, SECURITY_DESCRIPTOR, TIME_CREATED}
Win32_SystemConfigurationChangeE... {}                   {EventType, SECURITY_DESCRIPTOR, TIME_CREATED}
Win32_VolumeChangeEvent             {}                   {DriveName, EventType, SECURITY_DESCRIPTOR, TIME_CREATED}
MSFT_WMI_GenericNonCOMEvent         {}                   {ProcessId, PropertyNames, PropertyValues, ProviderName...}
MSFT_NCProvEvent                    {}                   {Namespace, ProviderName, Result, SECURITY_DESCRIPTOR...}
MSFT_NCProvCancelQuery              {}                   {ID, Namespace, ProviderName, Result...}
MSFT_NCProvClientConnected          {}                   {Inproc, Namespace, ProviderName, Result...}
<省略>

クラス名(Nameフィールド)のみ見る場合は以下のような構文になります。

  • PowerShell version 2.0の場合
     Get-WmiObject -Class meta_class % { $_.Name }
  • PowerShell version 4.0では以下でも可能でした
    (Get-WmiObject -Class meta_class).Name

このままでは見にくいのでソートしてみます。

  • PowerShell version 2.0の場合
     Get-WmiObject -Class meta_class | % { $_.Name } | Sort-Object
  • PowerShell version 4.0では以下でも可能でした
    (Get-WmiObject -Class meta_class).Name | Sort-Object

以上、PowerShellでWMIクラスの一覧を取得し表示する方法でした。



トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2015-10-21 (水) 19:01:23