#navi(../)
* PowerShellでWMIのクラス一覧を取得する [#s56361e2]
PowerShellのGet-WMIObjectコマンドレットを使用することにより、WMIのクラス一覧を表示することができます。~
以下に実行例を記します。
#contents
#htmlinsertpcsp(win-top.html,win-sp.html)
* 関連記事 [#dcf70607]
-[[PowerShell/WMIのクラス一覧を取得する]]
-[[PowerShell/WMIを使用して遠隔サーバの各種情報を取得する]]
-[[PowerShell/PowerShellでWMIを使用するサンプル]]
-[[WSH/Win32_BIOSのサンプルスクリプト]]
-[[WSH/Win32_ComputerSystemProductのサンプルスクリプト]]
-[[WSH/Win32_ComputerSystemのサンプルスクリプト]]
-[[WSH/Win32_DiskDriveのサンプルスクリプト]]
-[[WSH/Win32_LogicalDiskのサンプルスクリプト]]
-[[WSH/Win32_NetworkAdapterConfigurationのサンプルスクリプト]]
-[[WSH/Win32_OperatingSystemのサンプルスクリプト]]
-[[WSH/Win32_Processorのサンプルスクリプト]]
* WMIクラスの一覧表示 [#xf14e7b8]
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クラスの一覧を取得し表示する方法でした。
#htmlinsertpcsp(win-btm.html,win-sp.html)