Using PowerShell with Veeam Backup – Restore to Azure
In my recent post about Veeam Backup – Restore to Azure I show how to do it GUI way. Veeam Backup include PowerShell PSSnapIn we can use it to manage many aspects of Veeam including Microsoft Azure integration. Today post is about that.
To get started we need open Windows PowerShell, we can open it from a computer where Veeam Backup and Replication console is installed, as shown on below picture. That will load PSSnipin automatically or if we have already open PowerShell console we can run Add-PSSnapin VeeamPSSnapIn.
Next step will be to get connected to Veeam Backup server.
Running Get-Command *Azure* -PSSnapin VeeamPSSnapin reveal all commands we can use to work with Microsoft Azure account
Our first command to run will be Add-VBRAzureAccount if the computer has not installed Microsoft Azure PowerShell module. We can find installation file at this location C:/Program Files/Veeam/Backup and Replication/Console/azure-PowerShell.3.1.0.msi
I have encounter error when PowerShell Azure module is a different version than provided with Veeam. Running Add-VBRAzureAccount finish with an error even though the account can be seen as added.
Running Add-VBRAzureAccount command will open Sign in to your account window where we need to tape email and password to get connected when finish we can see information about Azure account.
We can use Veeam PowerShell command to retrieve information about Azure subscription, location, VM size, resources group etc. This post is about restoring to Azure we will need most of them. The command which we want to use is Start-VBRVMRestoreToAzure
We start with finding information about Veeam Backup job and restore points. My lab contain only single restore point for the backup, in case we do have more than one we need to select this one which we want to use. $restore is array we can use $restore for example to retrieve first restore point on the list.
Next, we need an Azure account and subscription information. Again I will be creating $subscription variable for future use.
When we have subscription information, we can proceed to retrieve Storage Account information and location where we want to restore our VM
We need VM size as well. Azure provides different VM sizes, number of CPU, memory size and disk size. Is good to choose correct one, as this can affect how much we will be paying to run restore VM in Azure
Last information we require is Network name and subnet.
All necessary information collected and stored in variables, we can proceed with restoring our VM from backup. As mention before we will use command Start-VBRVMRestoreToAzure with parameters -RestorePoint -Subscription -StorageAccount -VMSize -NewResourcesGroup -VirtualNetwork -VirtualSubnet -VMName -Reason. Pressing Enter will start the job and display information about it. We can see that the “Results” is in Starting state.
Depending on network and VM size it can take a while before the restore will complete. In my lab, it just below 25 minutes. After login to Azure console, I could see new VM under new resource group in running state.
Thank you for reading.