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
*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