物理コンピューターで Windows OS 稼働させている時に、ハードウェアスペックを知りたくなることがあります。
そんな時は、WMI を簡単にハンドリングできる PowerShell で確認するが簡単です。
ざっくり情報であれば、Win32_ComputerSystemProduct に情報がまとまっています。
Get-WmiObject Win32_ComputerSystemProduct
基本的なハードウェア情報ははこんな感じでとります
ホスト名 | hostname |
メーカー名 | (Get-WmiObject Win32_BIOS).Manufacturer |
モデル名 | (Get-WmiObject Win32_BIOS).Model |
シリアル番号 | (Get-WmiObject Win32_BIOS).SerialNumber |
CPU 名 | @((Get-WmiObject Win32_Processor).Name)[0] |
物理コア数 | $PhysicalCores = 0 (Get-WmiObject Win32_Processor).NumberOfCores | %{ $PhysicalCores += $_} $PhysicalCores |
ソケット数 | (Get-WmiObject Win32_ComputerSystem).NumberOfProcessors |
CPU データ幅 | (Get-WmiObject Win32_Processor).DataWidth |
CPU アドレス幅 | (Get-WmiObject Win32_Processor).AddressWidth |
メモリーサイズ(GB) | $Total = 0 Get-WmiObject Win32_PhysicalMemory | % {$Total += $_.Capacity} [int]($Total/1GB) |
ディスク番号/ディスクサイズ(GB) (*1) |
[array]$DiskDrives = Get-WmiObject
Win32_DiskDrive | ? {$_.Caption -notmatch "Msft"} | sort Index $DiskDrives | % { $Index = $_.Index; $Size = [int]($_.Size/1GB); echo "$Index : $Size" } |
OS | $OS = (Get-WmiObject
Win32_OperatingSystem).Caption $SP = (Get-WmiObject Win32_OperatingSystem).ServicePackMajorVersion if( $SP -ne 0 ){ $OS += "SP" + $SP } $OS |
(*1)
"Msft" を除外しているのは、マウントされている VHD を対象外にするためです
関数にまとめるとこんな感じになります。
|
ノート PC だとバッテリーがどの程度ヘタったているのか気になりますね。
そんな時は powercfg.exe で確認ができます。
# 状態確認 powercfg /batteryreport |
出力された html フルパスを PowerShell プロンプトに張り付けると、レポートが Web ブラウザで表示されます。
ヘタり具合は、Installed batteries の DESIGN CAPACITY と FULL CHARGE CAPACITY を比較します。
他にも色々バッテリーに関する情報が取れているので、時々チェックする良いかもです。
Installed batteries | バッテリー状態 |
Recent usage | 最近の使用状態(過去3日間) |
Battery usage | バッテリーの使用状態(過去3日間の電池残量) |
Usage history | 使用状態履歴 |
Battery capacity history | バッテリーキャパシティ履歴 |
Battery life estimates | 使用状況から推測したバッテリー稼働可能時間 |
Windows 10(8以降?) では GUI 表示の Windows エクスペリエンス インデックス が無くなっていますが、winsat.exe での評価はまだ生きているので、以下コマンドで Windows エクスペリエンス インデックスを確認することができます。
# 計測 winsat formal -restart clean # 計測結果の表示 Get-CimInstance Win32_WinSAT |
計測
計測結果
関数を PowerShell プロンプトで実行する
http://www.vwnet.jp/Windows/PowerShell/2016100401/UseFunctionInPsPrompt.htm
PowerShell でよく使う OS 情報を取得する方法
http://www.vwnet.jp/Windows/PowerShell/2019031001/GetOsInfo.htm
Copyright © MURA All rights reserved.