Powershell script to collect disk information from one or many computers
In many scenarios you may need to collect disk drive information from one or many Windows computers. For example when trying to identify used storage in the process of planning to move from traditional on premise storage to cloud integrated storage such as StorSimple. This script can help with this task.
To use this script, run it to load its 2 functions. The main function is Get-DiskInfo.
to see its built in help, type in:
help Get-DiskInfo -ShowWindow
Powershell displays help information similar to:
The help information includes some examples like:
Simply running the function with no parameters. The script assumes you mean get disk information of this computer, and creates a log file under the current path in a sub-folder named logs.
Output may look like:
The log file will have the same information displayed on the screen. This is handy when/if this is run as (unattended) scheduled task or job.
Another example illustrates using the output PS object to present and save the information into CSV for further reporting and analysis:
$Drives = Get-DiskInfo v2012R2G2-SQL2,notthere,v2012R2G2-IIS2
The script will return list of drives of the computers v2012R2G2-SQL2,v2012R2G2-IIS2, save the output to a log file, and in the $Drives variable. Output may look like:
The source computers can be Windows XP, Windows 7, Windows 8, Windows 10, Server 2003, Server 2008, Server 2012, Server 2016. They must have Powershell installed, and Powershell remoting configured. See this post for more details.
We can display the data in the $Drives variable to the screen as in:
$Drives | select Computer,Drive,’Used(GB)’,’Free(GB)’,’Free(%)’,’Total(GB)’ | FT -a
$Drives | select Computer,Drive,’Used(GB)’,’Free(GB)’,’Free(%)’,’Total(GB)’ | Out-GridView
Or save to CSV file for further reporting and analysis with MS Excel as in:
$Drives | select Computer,Drive,Used,Free,Total | Export-Csv .\Drives1.csv -NoType
The last example:
Get-DiskInfo (Import-Csv .\ComputerList.csv).ComputerName
demonstrates that we can read the list of computers from a CSV file. In this example the input CSV file looks like:
You can simply create a new file in Notepad. The first line must be ‘ComputerName’ to match the property name used in the example above. This is followed by the computer names, each on its own line. Finally save with CSV file extension instead of TXT.