もくじ
📝 はじめに
PowerShellでPCの調査やトラブル切り分けをしていると、
「メモリ容量はいくつ積まれているのか」
「何枚のメモリが挿さっていて、規格は何か」
を正確に確認したい場面はよくあります。
そんなときに使えるのが、
Get-CimInstance Win32_PhysicalMemory です。
この記事では、メモリ情報をPowerShellで取得するための
基本的な考え方と実務で役立つ使い方を解説します。
- 搭載メモリ容量を正確に確認したい
- メモリの枚数・規格(DDR4/DDR5など)を知りたい
- 増設・交換前の事前確認をしたい
- 動作が重いPCの切り分けをしたい
✅ このコマンドでできること(要点)
- 物理メモリ(RAM)の詳細情報を取得できる
- メモリ容量・枚数・規格を確認できる
- スロット単位で情報を把握できる
- スクリプトで安定してメモリ情報を扱える
✅ Get-CimInstanceでできること
Get-CimInstance は、
CIM(Common Information Model)を通じて
Windows内部のハードウェア情報を取得するためのコマンドです。
その中でも Win32_PhysicalMemory クラスは、
実際に装着されている物理メモリの情報を
スロット単位で取得できる点が特徴です。
🧩 基本構文
Get-CimInstance Win32_PhysicalMemory
実行すると、搭載されているメモリモジュール分の情報が表示されます。
結果が表示されていれば、コマンドは正常に動作しています。
▶ 基本的な使い方(まずこれだけ)
🔹 メモリ情報をそのまま確認する
Get-CimInstance Win32_PhysicalMemory
項目数が多いため、最初は「どんな情報が取れるか」を確認する目的で使います。
🔹 メモリ容量とスロット位置を確認する
Get-CimInstance Win32_PhysicalMemory |
Select-Object DeviceLocator, Capacity
どのスロットに、どれくらいの容量のメモリが挿さっているかを確認できます。
Capacity はバイト単位で表示されます。
🛠 よく使われる指定例
🔹 容量をGB単位で表示する
Get-CimInstance Win32_PhysicalMemory |
Select-Object DeviceLocator,
@{Name="CapacityGB";Expression={[Math]::Round($_.Capacity/1GB,1)}}
実務ではGB表記に変換して確認することがほとんどです。
🔹 メモリの規格や速度を確認する
Get-CimInstance Win32_PhysicalMemory |
Select-Object DeviceLocator, MemoryType, SMBIOSMemoryType, Speed
メモリ規格や動作クロック(MHz)の目安を確認できます。
規格は環境によって数値表記になる場合があります。
🔹 メーカーや型番を確認する
Get-CimInstance Win32_PhysicalMemory |
Select-Object DeviceLocator, Manufacturer, PartNumber
既存メモリと同等品を探す際の参考情報になります。
💼 実務でよく使う使用例(応用)
🔹 搭載メモリの合計容量を算出する
Get-CimInstance Win32_PhysicalMemory |
Measure-Object Capacity -Sum |
Select-Object @{Name="TotalMemoryGB";Expression={[Math]::Round($_.Sum/1GB,1)}}
システム全体の搭載メモリ容量を一目で確認できます。
🔹 メモリ構成を一覧で把握する
Get-CimInstance Win32_PhysicalMemory |
Select-Object DeviceLocator,
@{Name="CapacityGB";Expression={[Math]::Round($_.Capacity/1GB,1)}},
Speed, Manufacturer
「何GBのメモリが何枚」という構成が分かりやすくなります。
- Measure-Object で合計容量を算出
- Select-Object でGB表記に変換
- CPU情報(Win32_Processor)と合わせて構成確認
🧩 よくある勘違い・つまずきポイント
- Capacityはバイト単位で表示されるため、そのままだと分かりにくい
- 規格(DDR4/DDR5など)は数値で表示される場合がある
- 空きスロットの情報は取得できない
- 仮想環境では実機と異なる表示になることがある
- メモリ速度は最大値で表示されない場合がある
🔄 cmdとの違いについて
cmdでは wmic memorychip などで
メモリ情報を取得できますが、
Get-CimInstance は
取得結果をオブジェクトとして扱える点が大きな違いです。
加工や集計を前提とする場合はPowerShellの方が向いています。
⚠ エラー・うまく動かないときの確認ポイント
- PowerShellのバージョンが極端に古くないか
- CIM関連サービスが停止していないか
- 管理者として実行が必要な環境ではないか
- 取得対象が仮想マシンでないか
🧠 注意点
Win32_PhysicalMemory で取得できるのは
「物理的に搭載されているメモリ」の情報です。
実際の使用量や空き容量を知りたい場合は、
別のクラスやコマンドと組み合わせて確認してください。
📌 まとめ
- Win32_PhysicalMemoryでメモリ情報を詳細に取得できる
- 容量・枚数・規格の確認に便利
- 実務ではGB表記への変換が必須
- 次は使用量確認(Win32_OperatingSystemなど)と組み合わせると実用的
🔎 PowerShellコマンドを探す
- ファイルを削除したい
- 一覧を表示したい
- 文字列を検索したい
- 条件で絞り込みたい
- エラーや実行できない原因を調べたい
- メモリ容量や構成を確認したい
- PCの性能情報を把握したい
