PowerShellでWMIを使用するサンプル †PowerShellからWMIを使用する方法を以下に記します。 関連記事 †以下、VBScriptでWMIを使用するサンプルコードを公開しています。
Get-WmiObject コマンドレットを使用する †Get-WmiObjectコマンドレットを使用することにより簡単にWMIにアクセスすることができます。 Get-WmiObjectを使ってみる †Get-WmiObjectにWin32_ComputerSystemを指定して実行した例です。 PS C:\> Get-WmiObject Win32_ComputerSystem Domain : WORKGROUP Manufacturer : LENOVO Model : ABCDEFG Name : THINKPAD PrimaryOwnerName : sakura TotalPhysicalMemory : 8428290048 WMIによる情報が簡単に取れていることが確認できます。 SQLを記述する †以下のように-queryを指定することによりSQL構文を記述し出力することができます。 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> その他サンプル †以下は、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を使用するサンプルでした。 |