Start-VBRVMRestoreToAzure
Short Description
Restores VM backups to Microsoft Azure.
Applies to
Platform: VMware, Hyper-V
Product Edition: Standard, Enterprise, Enterprise Plus, Veeam Universal License
Syntax
This cmdlet provides the following parameter sets:
- For restoring to Azure with the following deployment models.
- Microsoft Azure Resource Manager
- Microsoft Azure Stack
Start-VBRVMRestoreToAzure -RestorePoint <COib> -Subscription <VBRAzureSubscription> -StorageAccount <VBRAzureStorageAccount> -VmSize <VBRAzureVMSize> -VirtualNetwork <VBRAzureVirtualNetwork> -VirtualSubnet <VBRAzureNetworkSubnet> [-ResourceGroup <VBRAzureResourceGroup>] [-NewResourceGroupName <string>] [-DisksToExclude <string[]>] [-VmName <string>] [-Reason <string>] [-GatewayServer <CHost>] [-Credentials <CCredentials>] [-EnableAntivirusScan] [-EnableEntireVolumeScan] [-VirusDetectionAction <VBRAzureVirusDetectionAction> {ConnectToIsolatedNetwork | AbortRecovery}] [-VirusIsolatedNetwork <VBRAzureVirtualNetwork>] [-VirusIsolatedNetworkSubnet <VBRAzureNetworkSubnet>] [-NetworkSecurityGroup <VBRNetworkSecurityGroup>] [-Wait] [-AllocatePublicIP] [-ShutdownVM] [-StorageType {Managed | Unmanaged}] [<CommonParameters>] |
- For Microsoft Azure Classic deployment model.
Start-VBRVMRestoreToAzure -RestorePoint <COib> -Subscription <VBRAzureSubscription> -StorageAccount <VBRAzureStorageAccount> -VmSize <VBRAzureVMSize> [-DisksToExclude <string[]>] [-VmName <string>] [-CloudService <VBRAzureCloudService>] [-DNSName <string>] [-Endpoint <uint16>] [-VirtualNetwork <VBRAzureVirtualNetwork>] [-VirtualSubnet <VBRAzureNetworkSubnet>] [-Reason <string>] [-GatewayServer <CHost>] [-Credentials <CCredentials>] [-EnableAntivirusScan] [-EnableEntireVolumeScan] [-VirusDetectionAction <VBRAzureVirusDetectionAction> {ConnectToIsolatedNetwork | AbortRecovery}] [-VirusIsolatedNetwork <VBRAzureVirtualNetwork>] [-VirusIsolatedNetworkSubnet <VBRAzureNetworkSubnet>] [-NetworkSecurityGroup <VBRNetworkSecurityGroup>] [-Wait][-AllocatePublicIP] [-ShutdownVM] [-StorageType {Managed | Unmanaged}] [<CommonParameters>] |
Detailed Description
This cmdlet restores VM backups to Microsoft Azure. You can restore the data to the following types of Microsoft Azure deployment models:
- Microsoft Azure Resource Manager
- Microsoft Azure Stack
- For Microsoft Azure Classic
Important |
You must select the Microsoft Azure configuration options that supports the VM you restore. For example, if you restore a VM that has 4 disks, select an Azure VM configuration option that supports 4 or more disks. |
Parameters
Parameter | Description | Required | Position | Accept | Accept |
---|---|---|---|---|---|
RestorePoint | Specifies the restore point of the backup you want to restore to Microsoft Azure. | True | Named | True (ByValue, | False |
Subscription | Specifies the Microsoft Azure subscription. The cmdlet will restore the backup to this subscription. | True | Named | False | False |
StorageAccount | Specifies the Microsoft Azure storage account. The restored VM will use this storage account. | True | Named | False | False |
VmSize | Specifies the Microsoft Azure VM configuration option. The VM will use this configuration template. | True | Named | False | False |
VirtualNetwork | Specifies the Microsoft Azure virtual network. The restored VM will be connected to this network. | For Resource Manager model: True For Classic model: False | Named | False | False |
VirtualSubnet | Specifies the Microsoft Azure virtual subnet. The restored VM will be connected to this subnet. | For Resource Manager model: True For Classic model: False | Named | False | False |
ResourceGroup | For Microsoft Azure Resource Manager accounts. Specifies the Microsoft Azure resource group. The restored VM will use this restore group. If you skip this parameter, the cmdlet will need to create a new resource group. Use the NewResourceGroupName parameter to create a new resource group. The new resource group is created with default resources. | False | Named | False | False |
NewResource | For Microsoft Azure Resource Manager deployment models. Specifies the name of a new resource group. The cmdlet will create a new resource group with this name. If you skip this parameter, use the ResourceGroup parameter to specify an existing resource group. | False | Named | False | False |
DisksToExclude | Specifies the array of VM disk file names. Use this parameter to specify the VM disks that you want to exclude. The cmdlet will not restore these disks. | False | Named | False | False |
VmName | Specifies the VM name. The restored VM will have this name. If you do not specify a new name, the restored VM will have it's original name. | False | Named | False | False |
Reason | Specifies the reason for performing restore. | False | Named | False | False |
GatewayServer | Specifies the proxy server. The restore process will use this server to transfer the VM data to the Microsoft Azure datacenter. If you skip this parameter, the restore process will use Veeam backup server as a proxy server. | False | Named | False | False |
Credentials | For restoring backups located on a network shared folder. Specifies the credentials to authenticate with the network shared folder. | False | Named | False | False |
EnableAntivirusScan | Indicates that the cmdlet will perform secure restore. Veeam Backup & Replication will trigger the antivirus software to scan selected VMs before the restore. | False | Named | False |
|
Enable | For secure restore. Indicates that the antivirus will continue VMs scan after the first virus threat is found. Use this option if you want to get the report on all virus threats. | False | Named | False |
|
Virus | For secure restore. Specifies secure restore action when the virus threat is detected.
| False | Named | False |
|
VirusIsolatedNetwork | Specifies the Azure virtual network. Veeam Backup & Replication will restore the infected VM to the selected network. Accepts the VBRAzureVirtualNetwork type. | False | Named | False |
|
VirusIsolatedNetworkSubnet | Specifies the Azure virtual network subnet. Veeam Backup & Replication will restore the infected VM to the selected network. Accepts the VBRAzureNetworkSubnet type. | False | Named | False | False |
NetworkSecurityGroup | Specifies a security group for the restored VM. Accepts the VBRNetworkSecurityGroup type. | False | Named | False | False |
Wait | Indicates that the command waits for the process to complete before accepting more input. | False | Named | False | False |
AllocatePublicIP | Defines that the cmdlet will assign a public IP to the restored VM. If you provide this parameter, Veeam Backup & Replication will assign a public IP to it. Otherwise, the restored VM will remain without the public IP. | False | Named | False | False |
ShutdownVM | Defines that the cmdlet will power on the restored VM after the restore is complete. If you do not provide this parameter, the restored VM will remain powered off. | False | Named | False | False |
StorageType | Specifies a type of Microsoft Azure disks. You can specify either of the following disk types:
| False | Named | False | False |
CloudService | For Microsoft Azure Classic accounts. Specifies the existing cloud service. The restored VM will be added to this cloud service. If you skip this parameter, the cmdlet will create a new cloud service for the restored VM. Use the DNSName parameter to set the name for the new cloud service. | False | Named | False | False |
DNSName | For Microsoft Azure Classic deployment model. Specifies the name of the new cloud service. If you skip this parameter, use the CloudService parameter to place the restored VM to an existing cloud service. | False | Named | False | False |
Endpoint | For Microsoft Azure Classic accounts. Specifies the port number. This port will be used to connect to the restored VM. If you skip this parameter, the cmdlet will use the default port numbers: For Windows VMs: 3389. For Linux VMs: 22. | False | Named | False | False |
<CommonParameters>
This cmdlet supports Microsoft PowerShell common parameters. For more information on common parameters, see the About CommonParameters section of Microsoft Docs.
Return Type
Example 1
This example shows how to restore a VM to Microsoft Azure for the Resource Manager deployment model.
- Run Get-VBRRestorePoint to get the restore point of the VM that you want to restore. Save the result to the $restorepoint variable.
- Run Get-VBRAzureAccount to get the Microsoft Azure credentials records. Save the result to the $account variable.
- Run Get-VBRAzureSubscription with the $account variable to get the subscription. Save the result to the $suscription variable.
- Run Get-VBRAzureStorageAccount to get the Microsoft Azure storage account. Save the result to the $storageaccount variable.
- Run Get-VBRAzureLocation to get the location of the Microsoft Azure datacenter. Save the result to the $location variable.
- Run Get-VBRAzureVMSize with the $location variable to get the VM configurations details. Save it to the $vmsize variable.
- Run Get-VBRAzureVirtualNetwork with the $subscription variable to get the Microsoft Azure virtual network. Save the result to the $network variable.
- Run Get-VBRAzureVirtualNetworkSubnet with the $network variable to get the Microsoft Azure virtual network subnet. Save the result to the $subnet variable.
- Run Get-VBRAzureResourceGroup with the $subscription variable to get the Microsoft Azure resource group. Save the result to the $resourcegroup variable.
- Run Start-VBRVMRestoreToAzure with the variables obtained beforehand.
$restorepoint = Get-VBRBackup -Name "MSExchange Backup" | Get-VBRRestorePoint -Name "MSExchange02" | Sort-Object CreationTime -Descending | Select -First 1 $account = Get-VBRAzureAccount -Type ResourceManager -Name "RestoreToAzureRM@Veeam.com" $subscription = Get-VBRAzureSubscription -Account $account -Name "VeeamDirectRestore2Azure" $storageaccount = Get-VBRAzureStorageAccount -Subscription $subscription -Name "VeeamDirectRestore2AzureStorage" $location = Get-VBRAzureLocation -Subscription $subscription -Name australiaeast $vmsize = Get-VBRAzureVMSize -Subscription $subscription -Location $location -Name Standard_G3 $network = Get-VBRAzureVirtualNetwork -Subscription $subscription -Name "VeeamInternalNetwork" $subnet = Get-VBRAzureVirtualNetworkSubnet -Network $network -Name "VeeamInternalSubnet" $resourcegroup = Get-VBRAzureResourceGroup -Subscription $subscription -Name "VeeamResourceGroup" Start-VBRVMRestoreToAzure -RestorePoint $restorepoint -Subscription $subscription -StorageAccount $storageaccount -VmSize $vmsize -VirtualNetwork $network -VirtualSubnet $subnet -ResourceGroup $resourcegroup -VmName CRM_db_restored2Azure -Reason "Back up CRM_db to Microsoft Azure" |
Example 2
This example shows how to restore a VM to a Classic account:
- Run Get-VBRRestorePoint to get the restore point of the VM that you want to restore. Save the result to the $restorepoint variable.
- Run Get-VBRAzureAccount to get the Microsoft Azure credentials records. Save the result to the $account variable.
- Run Get-VBRAzureSubscription with the $account variable to get the subscription. Save the result to the $suscription variable.
- Run Get-VBRAzureStorageAccount to get the Microsoft Azure storage account. Save the result to the $storageaccount variable.
- Run Get-VBRAzureLocation to get the location of the Microsoft Azure datacenter. Save the result to the $location variable.
- Run Get-VBRAzureVMSize with the $location variable to get the VM configurations details. Save it to the $vmsize variable.
- Run Start-VBRVMRestoreToAzure. Use the saved variables.
$restorepoint = Get-VBRBackup -Name "MSExchange Backup" | Get-VBRRestorePoint -Name "MSExchange02" | Sort-Object CreationTime -Descending | Select -First 1 $account = Get-VBRAzureAccount -Type Classic -Name "RestoreToAzure@Veeam.com" $subscription = Get-VBRAzureSubscription -Account $account -Name "VeeamDirectRestore2Azure" $storageaccount = Get-VBRAzureStorageAccount -Subscription $subscription -Name "VeeamDirectRestore2AzureStorage" $location = Get-VBRAzureLocation -Subscription $subscription -Name "Classic Central US" $vmsize = Get-VBRAzureVMSize -Subscription $subscription -Location $location -Name Standard_G3 Start-VBRVMRestoreToAzure -RestorePoint $restorepoint -Subscription $subscription -StorageAccount $storageaccount -VmSize A10 -DNSName "CRM_db_Restored_to_Azure" -Endpoint 443 -Reason "Back up CRM_db to Microsoft Azure" |
Example 3
This example shows how to start a restore using a proxy server.
- Run Get-VBRRestorePoint to get the restore point of the VM that you want to restore. Save the result to the $restorepoint variable.
- Run Get-VBRAzureAccount to get the Microsoft Azure credentials records. Save the result to the $account variable.
- Run Get-VBRAzureSubscription with the $account variable to get the subscription. Save the result to the $suscription variable.
- Run Get-VBRAzureStorageAccount to get the Microsoft Azure storage account. Save the result to the $storageaccount variable.
- Run Get-VBRAzureLocation to get the location of the Microsoft Azure datacenter. Save the result to the $location variable.
- Run Get-VBRAzureVMSize with the $location variable to get the VM configurations details. Save it to the $vmsize variable.
- Run Get-VBRAzureVirtualNetwork with the $subscription variable to get the Microsoft Azure virtual network. Save the result to the $network variable.
- Run Get-VBRAzureVirtualNetworkSubnet with the $network variable to get the Microsoft Azure virtual network subnet. Save the result to the $subnet variable.
- Run Get-VBRAzureResourceGroup with the $subscription variable to get the Microsoft Azure resource group. Save the result to the $resourcegroup variable.
- Get the proxy server. Run Get-VBRServer and save the result to the $proxy variable.
- Run Start-VBRVMRestoreToAzure. Use the saved variables.
$restorepoint = Get-VBRBackup -Name "MSExchange Backup" | Get-VBRRestorePoint -Name "MSExchange02" | Sort-Object CreationTime -Descending | Select -First 1 $account = Get-VBRAzureAccount -Type Classic -Name "RestoreToAzure@Veeam.com" $subscription = Get-VBRAzureSubscription -Account $account -Name "VeeamDirectRestore2Azure" $storageaccount = Get-VBRAzureStorageAccount -Subscription $subscription -Name "VeeamDirectRestore2AzureStorage" $location = Get-VBRAzureLocation -Subscription $subscription -Name "Classic Central US" $vmsize = Get-VBRAzureVMSize -Subscription $subscription -Location $location -Name Standard_G3 $proxy = Get-VBRServer -Name "azureproxy.cloudapp.net" Start-VBRVMRestoreToAzure -RestorePoint $restorepoint -Subscription $subscription -StorageAccount $storageaccount -VmSize $vmsize -VirtualNetwork $network -VirtualSubnet $subnet -ResourceGroup $resourcegroup -VmName CRM_db_restored2Azure -Reason "Back up CRM_db to Microsoft Azure" -GatewayServer $proxy |
Related Commands