One of the great things about Windows PowerShell, is that it allows us IT Administrators to write relatively simple, single-line commands to retrieve specific information about our servers and present it just the way we want. I will be posting my own PowerShell Oneliners frequently and explain how they work.

Check the size of type 3, logical volumes in GB, the free space in MB and calculate the percentage free space:

Get-WmiObject Win32_logicaldisk |

Where-Object {$_.drivetype -eq 3} |

Format-Table -Property Name,VolumeName,`

@{label=”Size (GB)”;expression={[math]::truncate($_.size/1GB)}},`

@{label=”Free Space (MB)”;expression={[math]::truncate($_.freespace/1MB)}},`

@{label=”Percent Free”;expression={[math]::truncate((($_.freespace/1GB)/($_.size/1GB))*100)}}

First, I use Windows Management Instrumentation (WMI) to get all information available about the logical disks in my computer.

The result is piped to Where-Object, which filters out the objects that represent a volume.

Then I specify the way I want the output to be formatted: which is in a table, with columns showing the Driveletter, Volume Name, Size, Free Space and Percent Free. I am using a trick here to do some calculations on the properties before I display them. You can use the format @{label=”label”;expression={expression}} to achieve this.

By the way: For readability I have truncated the command at the pipeline character and used the line break character ` (backtick) in several other places. You can however put the entire command in a single line and execute it from the PowerShell Command Prompt.

»crosslinked«

Tagged with:
 

One Response to PowerShell Oneliner #1

  1. admin says:

    Just testing the comments…