Advanced Windows PowerShell Scripting Video Training

Advanced Windows PowerShell Scripting Video Training
Advanced Windows PowerShell Scripting Video Training

Friday, January 7, 2011

In PowerShell, can you have the disk size reported in MB or GB?

In PowerShell V2, you can have data values returned as KB, MB, GB, etc… In the example below, the information is going to be returned in bytes:

GWMI Win32_LogicalDisk | Select DeviceID, Freespace | FL

The output will look like this:

image

The first section will call the WMI object to enumerate the properties of all the logical disks on the system. The second portion will select ot display only the DeviceID (Drive letter), and how much free space is left. The third section is just for controlling the format of the output.

In PowerShell V2, you can have PowerShell reformat the data to reflect MB or GB.

GWMI win32_logicaldisk | Select deviceID, @{Label=’Freespace(GB)’;Expression={$_.freespace/1GB}} | FL

 

In the above example, we slightly changed what we entered.  First we changed the label that was going to be displayed for the data.  The default is Freespace.  We changed it to Freespace(GB) to better represent the format that data was going to be in.  Next we did the math to convert the value from bytes to Gigabytes.  PowerShell understands what MB, GB, and TB mean.  In the example below, I simply typed in a value and PowerShell told me what the value is in bytes.

image

When the code in red above is entered, the result is below.

image

Our data is being represented in GB.

No comments: