PowerShell WMI を使用してリソース情報を取得する

色々な方法で結果を取得できるのだが WMI の WQL を使用すると直感的に記述できるのでそうした。

前提条件

  • Windows 7 Professional
  • $PSVersionTable PSVersion=5.0.10586.117

get_resource_information.ps1

$result = Get-WmiObject -Query "SELECT PercentProcessorTime FROM Win32_PerfFormattedData_PerfOS_Processor WHERE Name = '_Total'"
Write-Host ("CPU 使用率 " + $result.PercentProcessorTime + " %")

$result = Get-WmiObject -Query "SELECT TotalVisibleMemorySize, FreePhysicalMemory FROM Win32_OperatingSystem"
$result = ($result.TotalVisibleMemorySize - $result.FreePhysicalMemory) / $result.TotalVisibleMemorySize * 100
Write-Host ("メモリ 使用率 " + [int] $result + " %")

$result = Get-WmiObject -Query "SELECT * FROM Win32_PerfFormattedData_PerfDisk_LogicalDisk WHERE Name = 'C:'"
Write-Host ("Cドライブ 空き容量 " + $result.PercentFreeSpace + " %")

出力

CPU 使用率 7 %
メモリ 使用率 79 %
Cドライブ 空き容量 43 %