Today’s post comes by way of a co-worker, Robert Carlson, who took my previous post on getting the free disk space of remote computers and offered a very useful suggestion — instead of outputting strings, which is only useful for a display or report, he suggests creating a PSCustomObject and outputting that. Slick! I like it.

So, why a PSCustomObject? Because now he can use it to drive automation, rather than simply reporting. A very handy change, and a good reminder for all of us that we should put off formatting until the last possible moment, because once you pipe something to Format-*, you’re done. All your precious objects and their properties are gone, and you’re left with a simple string.

The other thing Robert has done is change this from a script to a function. This makes it easier to call from other scripts and allows it to be added to your “toolbox” module. (More on Toolbox Modules soon. ) A worthy change. So, without further ado, here’s Robert’s revised Get-myFreeSpace function.

I really appreciate Robert’s contribution, and I thank him profoundly for his suggestion. I learned something, and I hope you have too. I hope you found this useful, and I’d love to hear comments, suggestions for improvements, or bug reports as appropriate. As always, if you use this script as the basis for your own work, please respect my copyright and provide appropriate attribution.