Check RAM Slots and Sticks with Win32_PhysicalMemory

Find out how many memory modules are populated, their capacity and speed, and how many slots your motherboard has.

WindowshardwarememorypowershellLow risk
Run Get-CimInstance Win32_PhysicalMemory to list every installed stick (slot, GB, MHz), and read MemoryDevices from Win32_PhysicalMemoryArray for the total slot count.

01Command

Command
$ Get-CimInstance Win32_PhysicalMemory | Format-Table BankLabel, DeviceLocator, Capacity, Speed
(Get-CimInstance Win32_PhysicalMemoryArray).MemoryDevices

02What it does

This is the fastest way to answer "can I add another stick?" without opening the case. Each Win32_PhysicalMemory row is one module: Capacity is in bytes (divide by 1GB), Speed shows the rated MHz, and DeviceLocator/BankLabel tell you which physical slot it occupies. The array's MemoryDevices property gives the total number of slots, so installed rows versus that number shows free slots at a glance. Matching the existing Speed and capacity is the safe upgrade path; mixing speeds works but usually downclocks everything to the slowest stick.

03Risk

RiskLow risk
!Warning: Laptops often ship with soldered memory plus one slot, so a free-slot count of 1 does not always mean two modules can be added.

04Undo

✓No undo needed — this command does not change persistent state.

05Sources

  • Win32_PhysicalMemory class
    Microsoft Learn · vendor-doc · 2026-09-17
    Evidence: Documents the Win32_PhysicalMemory WMI class properties: Capacity, Speed, BankLabel, DeviceLocator.

Last verified: 2026-09-18 · Category: System & Settings

06Related solutions