色々な方法で結果を取得できるのだが 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 %