In the Hyper-V GUI, it is possible to create a collection of snapshots across multiple VMs by selecting multiple VMs, then clicking Snapshot.

In PowerShell on Windows Server 2012, you can request more than one at once by passing the list of VMs as Checkpoint-VM -VMName @('server1', 'server2') (for example). But, that does them in series, not in parallel. This matters when you have machines that interact with each other.

Can you only do this by creating snapshots as jobs and letting the asynchronous job start get it very close? Is that was the GUI is doing? Or is there a "proper" way to do this?


  • 1
    Does the GUI in fact run them concurrently or does it run them consecutively? How can you confirm that? – joeqwerty Dec 7 '12 at 20:58
  • It's pretty easy to see it's concurrent; you can watch the status column show the progress of multiple requests at once. – MikeBaz - MSFT Dec 7 '12 at 22:03

There is a method to do this in Powershell. It has been discussed in this ServerFault post

  • So this is using the asynchronous job approach I mentioned already right? Or is there a nuance I missed? – MikeBaz - MSFT Dec 7 '12 at 22:04
  • Correct. I don't know that there is a right-way/wrong-way. Just a way that works for you. – uSlackr Dec 7 '12 at 22:35
  • The better link is the source link here: stackoverflow.com/questions/4016451/… although as I said this is really just a fancy way of using jobs. I ended up using -AsJob as that is a bit less hassle and gets the same effective result. It's not perfect but it is hopefully close enough. – MikeBaz - MSFT Dec 10 '12 at 15:05

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.