Get sizing informations on a remote computer with PowerShell


Today, we want to retrieve the number of logical processors, the amount of ram and the number of ram physical slot used. To achieve our goal, we’ll use WMI :

First, we use the “Win32_ComputerSystem” :

Get-WmiObject Win32_ComputerSystem -ComputerName SQL


If you pipe that in a “Get-Member“, you’ll find more properties, such as those :


If you want the total amount of ram in a readable form, you’ll use a dictionary :


Then, the “Win32_PhysicalMemory” :

Get-WmiObject Win32_physicalmemory -ComputerName SQL

If you pay attention, you’ll notice that this query returned several objects. Indeed, you have one object by used slot, so, you just need to count them to know how many slot are used:


You can have some informations about each used slots such as :


Get CPU informations on a remote computer with PowerShell


To get CPU informations, you need to use the “Win32_processor” WMI class like that :


If you want more informations, you can use :

Get-WmiObject -Class Win32_processor -ComputerName SQL | select *

This will force the WMI query to retrieve a lot more informations about the remote machine’s CPU.

You also select a few useful properties, with multiple computers :

 Get-WmiObject -Class Win32_processor -ComputerName SQL,WSUS,SOFSR2Node1,SOFSR2Node2 | select SystemName,Name,CurrentClockSpeed | Format-Table -AutoSize