Not able to set HA on a running VM with SC VMM 2012 SP1
I have described before in blog posts about how to add a running VM to a Hyper-V failover cluster with the PowerShell cmdlets without moving it or turning it off, asuming it already was on a highly available storage such as a CVFS volume or smb 3.0 file share
In my exploration of the virtual machine manager PowerShell module I wanted to test and see if this was also possible in there but I do not succeed, or more correctly maybe should be noted that the SCVMM team has not implemented that for this release 🙁 what has been implemented is the possibility to make a VM highly available when moving between datastores on a cluster node or from a single hyper-v host to a cluster node. As there is some copying of data it will also take longer time than the below command.
In Hyper-V with failover cluster PowerShell module I can add a VM to the cluster with the following cmdlets without stopping the VM.
![sethighavailpshv](http://vniklas.djungeln.se/wp-content/uploads/2013/04/sethighavailpshv.png)
Hyper-V\Get-VM vmtest -ComputerName HV02 | Add-VMToCluster -Cluster HVCL30
As you see, the reason why I have added the Hyper-V to the cmdlet is that because in the VMM PowerShell cmdlet there is an alias that is called Get-VM and refers to the Get-SCVirtualMachine and that conflicts with the Hyper-V PowerShell module´s Get-VM and I have imported both modules in the same console. I have also imported the failover cluster module in the same console.
If I try to use the Set-SCVirtualmachine vmtest -HighlyAvailable $true I get the following error.
![sethighavailvmm](http://vniklas.djungeln.se/wp-content/uploads/2013/04/sethighavailvmm.png)
In the VMM Console this option is also greyed out and cannot be set.
![isavailablegui](http://vniklas.djungeln.se/wp-content/uploads/2013/04/isavailablegui.png)
Here is the command to move the VM from one datastore to another and in the same time making it highly available,
![movevmworks](http://vniklas.djungeln.se/wp-content/uploads/2013/04/movevmworks.png)
I have made a blog post about the issue with Move-SCVirtualMachine not updating the cluster resource and this can be a way to handle this but in my opinion a far more complicated way as you have to move the VM to a new datastore and removing the high availability and then moving it again to another datastore and making it high available again, with a large virtual machine this can take some considerable time when it otherwise just is to run the cluster cmdlet.