Display Disk Size and FreeSpace in GB

Try calculated properties. I would also add [math]::Round() to shorten the values:

gwmi win32_logicaldisk | Format-Table DeviceId, MediaType, @{n="Size";e={[math]::Round($_.Size/1GB,2)}},@{n="FreeSpace";e={[math]::Round($_.FreeSpace/1GB,2)}}

n stands for name and e for expression. You could use the full names too, but it's a waste of space if you're writing multiple calculated Properties.


When performing any arithmetical calculation, it should be put in { }.

gwmi win32_logicaldisk | Format-Table DeviceId, MediaType,Size, {$_.FreeSpace /1GB}

You can read more on syntax from Microsoft Powershell Library


I'd like to provide an alternate/updated answer. (As of Powershell 5 at least, probably version 3.)

Just use Get-Volume https://docs.microsoft.com/en-us/powershell/module/storage/get-volume

Example:

> get-volume
    
DriveLetter FriendlyName     FileSystemType DriveType HealthStatus OperationalStatus SizeRemaining     Size
----------- ------------     -------------- --------- ------------ ----------------- -------------     ----
                             FAT32          Fixed     Healthy      OK                       451 MB   496 MB
C           OSDISK           NTFS           Fixed     Healthy      OK                     65.23 GB 474.3 GB
X           Transfer_Shuttle NTFS           Fixed     Healthy      OK                     37.65 GB 48.68 GB

Tags:

Powershell