Windows PCの詳細なハードウェア情報(CPU、メモリ、ディスク、マザーボードなど)を一括で確認したい場面は、システム監査や社内資産管理、トラブル対応などでよくあります。PowerShellを使えば、WMI(Windows Management Instrumentation)を通じてさまざまな情報をスクリプトで簡単に取得できます。この記事では、主要なハードウェア情報を一覧取得する方法を紹介します。
CPU情報を取得する
Get-CimInstance Win32_Processor | Select-Object Name, NumberOfCores, MaxClockSpeed
出力例:
Name : Intel(R) Core(TM) i7-1165G7
NumberOfCores : 4
MaxClockSpeed : 2800
メモリ(RAM)の容量を確認する
Get-CimInstance Win32_PhysicalMemory |
Select-Object Manufacturer, Capacity, Speed
容量(バイト)をGBに変換したい場合:
Get-CimInstance Win32_PhysicalMemory |
Select-Object Manufacturer, @{Name='Capacity(GB)';Expression={"{0:N2}" -f ($_.Capacity / 1GB)}}, Speed
ディスク情報の取得
Get-CimInstance Win32_DiskDrive |
Select-Object Model, Size, InterfaceType, MediaType
サイズもGB換算で表示する場合:
Get-CimInstance Win32_DiskDrive |
Select-Object Model, @{Name="Size(GB)";Expression={"{0:N1}" -f ($_.Size / 1GB)}}, InterfaceType
ストレージのパーティション・空き容量
Get-CimInstance Win32_LogicalDisk -Filter "DriveType=3" |
Select-Object DeviceID, VolumeName, @{Name="Free(GB)";Expression={"{0:N1}" -f ($_.FreeSpace / 1GB)}}, @{Name="Total(GB)";Expression={"{0:N1}" -f ($_.Size / 1GB)}}
マザーボード(ベースボード)情報
Get-CimInstance Win32_BaseBoard | Select-Object Manufacturer, Product, SerialNumber
OS・PC名・シリアル番号などをまとめて取得
Get-CimInstance Win32_ComputerSystem | Select-Object Manufacturer, Model, Name, TotalPhysicalMemory
Get-CimInstance Win32_OperatingSystem | Select-Object Caption, Version, OSArchitecture
Get-CimInstance Win32_BIOS | Select-Object SerialNumber
全体をまとめてCSV出力する例
$cpu = Get-CimInstance Win32_Processor | Select-Object Name, NumberOfCores
$memory = Get-CimInstance Win32_PhysicalMemory | Measure-Object -Property Capacity -Sum
$disk = Get-CimInstance Win32_DiskDrive | Select-Object -First 1 Model, Size
$bios = Get-CimInstance Win32_BIOS | Select-Object SerialNumber
[PSCustomObject]@{
CPU = $cpu.Name
Cores = $cpu.NumberOfCores
MemoryGB = [math]::Round($memory.Sum / 1GB, 2)
DiskModel = $disk.Model
DiskSizeGB = [math]::Round($disk.Size / 1GB, 2)
SerialNo = $bios.SerialNumber
} | Export-Csv -Path ".\pc_hardware_info.csv" -NoTypeInformation -Encoding UTF8
まとめ
PowerShellとCIM/WMIを使えば、PCのハードウェア情報を細かくかつ自動で取得できます。GUIでは時間がかかる情報収集も、スクリプト化すれば複数台に対して一括実行でき、業務効率を大幅に改善できます。社内PCの棚卸し、サポート前の事前確認、自動監視など、さまざまな用途で活用できる便利なテクニックです。