Friday, September 02, 2011

#LFMF #PowerCLI Get-Folder contents #PowerShell


Because a “copy folder from the Datastore browser” backup of VM files is so inefficient, I’m writing a PowerShell process to improve my backups of the virtualised world.  Because I can move VM’s around onto different storage locations a hard coded “goto this datastore, download these VM’s” is going to need rewriting every time I do this.*

So I resolved to use as a starting point the Get-Folder command (and spawn a generic process for each Folder) that I have.

So I started to look at a folder (from the VMs and Templates view, not Hosts and Clusters) to do some testing on.  As the only, completely non active folder is Templates, I thought I’d start with that.

So the line of code I was looking at was something like:

Get-VM -Location (Get-Folder Templates) | Sort Name)

However I was getting nothing back, the code would run (there’s a lot more, but I won’t bore you with it until it’s all working), and there was a null result.  I didn’t quite spend days and days looking at it (see King Crimson - Indiscipline, Lyrics here), but I did spend quite a while thinking I’d got something wrong.

Then I had a thought – isn’t there a Get-Template command too?

Coded like this:
Get-Template -Location (Get-Folder Templates) | Sort Name)

I get some results.  Stupid of me to test a folder with wholly atypical contents

More later!

*I know some will wonder why I take flat file backups of VM’s.  It’s because I’m paranoid OK?  I copy them to external USB/FireWire drives for complete recoverability.  It’s not like I do it every day or anything

No comments: