#navi(../)
* PowerShellでWMIを使用するサンプル [#n5b4c108]
PowerShellからWMIを使用する方法を以下に記します。

#contents
#htmlinsertpcsp(win-top.html,win-sp.html)

* 関連記事 [#m23e0f37]
以下、VBScriptでWMIを使用するサンプルコードを公開しています。
-[[Win32_ComputerSystemのサンプルスクリプト>WSH/Win32_ComputerSystemのサンプルスクリプト]]
-[[Win32_ComputerSystemProductのサンプルスクリプト>WSH/Win32_ComputerSystemProductのサンプルスクリプト]]
-[[Win32_OperatingSystemのサンプルスクリプト>WSH/Win32_OperatingSystemのサンプルスクリプト]]
-[[Win32_BIOSのサンプルスクリプト>WSH/Win32_BIOSのサンプルスクリプト]]
-[[Win32_LogicalDiskのサンプルスクリプト>WSH/Win32_LogicalDiskのサンプルスクリプト]]
-[[Win32_Processorのサンプルスクリプト>WSH/Win32_Processorのサンプルスクリプト]]
-[[Win32_NetworkAdapterConfigurationのサンプルスクリプト>WSH/Win32_NetworkAdapterConfigurationのサンプルスクリプト]]
-[[Win32_DiskDriveのサンプルスクリプト>WSH/Win32_DiskDriveのサンプルスクリプト]]

* Get-WmiObject コマンドレットを使用する [#q9d7775d]
Get-WmiObjectコマンドレットを使用することにより簡単にWMIにアクセスすることができます。

** Get-WmiObjectを使ってみる [#aff45c3b]
Get-WmiObjectにWin32_ComputerSystemを指定して実行した例です。
 PS C:\> Get-WmiObject Win32_ComputerSystem
 
 
  Domain              : WORKGROUP
  Manufacturer        : LENOVO
  Model               : ABCDEFG
  Name                : THINKPAD
  PrimaryOwnerName    : sakura
  TotalPhysicalMemory : 8428290048

WMIによる情報が簡単に取れていることが確認できます。

** SQLを記述する [#zb0c3184]
以下のように-queryを指定することによりSQL構文を記述し出力することができます。~
Win32_Serviceを指定し、StateがRunningになっているものを出力しています。~
ft(Format-Tableにて出力を整形しています。
 PS C:\> Get-WmiObject -query "SELECT * FROM Win32_Service WHERE State=""Running""" | ft
 
            ExitCode Name                          ProcessId StartMode           State               Status
            -------- ----                          --------- ---------           -----               ------
                   0 AdobeARMservice                    1600 Auto                Running             OK
                   0 AeLookupSvc                        1020 Manual              Running             OK
                   0 Appinfo                            1020 Manual              Running             OK
                   0 Apple Mobile Dev...                1640 Auto                Running             OK
                   0 AudioEndpointBui...                 316 Auto                Running             OK
                   0 Audiosrv                            988 Auto                Running             OK
                   0 AVControlCenter                    1684 Auto                Running             OK
                   0 BFE                                1400 Auto                Running             OK
                   0 BITS                               1020 Auto                Running             OK
                   0 Bonjour Service                    1796 Auto                Running             OK
                   0 BrokerInfrastruc...                 680 Auto                Running             OK
                   0 Browser                            1020 Manual              Running             OK
 <snip>

** その他サンプル [#j80a8923]

以下は、Win32_Processorを出力した時の結果です。
 PS C:\> Get-WmiObject Win32_Processor
 
 
 Caption           : Intel64 Family 6 Model 58 Stepping 9
 DeviceID          : CPU0
 Manufacturer      : GenuineIntel
 MaxClockSpeed     : 2501
 Name              : Intel(R) Core(TM) i5-3210M CPU @ 2.50GHz
 SocketDesignation : CPU Socket - U3E1

以下は、Win32_LogicalDiskを指定し、Format-Table(ft)にて整形して出力した結果です。
 PS C:\> Get-WmiObject Win32_LogicalDisk | Format-Table
 
 DeviceID                      DriveType ProviderName                  FreeSpace                Size VolumeName
 --------                      --------- ------------                  ---------                ---- ----------
 C:                                    3                             58719133696        126106988544 Windows8_OS
 D:                                    5
 E:                                    2                             46781014016         63467155456

以上、PowerShellでWMIを使用するサンプルでした。

#htmlinsertpcsp(win-btm.html,win-sp.html)

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS