Start-VBRAzureInstantRecovery

Short Description

Starts Instant Recovery to Microsoft Azure.

Product Edition: Standard, Enterprise, Enterprise Plus, Veeam Universal License

Syntax

Start-VBRAzureInstantRecovery -RestorePoint <COib> -Subscription <VBRAzureSubscription>

-Location <VBRAzureLocation> -VmSize <VBRAzureVMSize> [-VmName <String>]

[-DiskConfigurations <VBRAzureDiskConfiguration[]>] [-Tags <VBRAzureTag[]>]

[-ResourceGroup <VBRAzureResourceGroup>] [-NewResourceGroupName <String>]

-VirtualNetwork <VBRAzureVirtualNetwork> -VirtualSubnet <VBRAzureNetworkSubnet>

[-ApplianceStorageAccount <VBRAzureStorageAccount>] -ApplianceSubnet <VBRAzureNetworkSubnet>

[-NetworkSecurityGroup <VBRNetworkSecurityGroup>] [-SkipNetworkSecurityGroup] [-AllocatePublicIP]

[-VerifyVMBoot] [-Reason <String>] [-RunAsync] [<CommonParameters>]

Detailed Description

This cmdlet starts Instant Recovery to Microsoft Azure. For the list of workload types that you can restore, see in the Instant Recovery to Microsoft Azure section in the Veeam Backup & Replication User Guide.

The recovered VM runs from a backup and does not provide a fully functioning service. You need to finalize the successful instant recovery by one of the following steps:

  • Migrate the recovered VM to the production. To do this, run the Start-VBRAzureInstantRecoveryMigrationStarts migration to production for the specified Instant Recovery to Microsoft Azure operation. cmdlet.
  • Remove the recovered VM. You can stop publishing the recovered VM and discard the changes made to it while it was running from backup. To do this, run the Stop-VBRAzureInstantRecoveryStops the specified Instant Recovery to Microsoft Azure operation. cmdlet.

Parameters

Parameters

Parameter

Description

Type

Required

Position

Accept Pipeline Input

AllocatePublicIP

Defines that the cmdlet will assign a public IP to the recovered workload.

SwitchParameter

False

Named

False

ApplianceStorageAccount

Specifies the storage account through which the recovered workload will communicated with the helper appliance.

Accepts the VBRAzureStorageAccount object. To get this object, run the Get-VBRAzureStorageAccountReturns Microsoft Azure storage accounts available for a subscription. cmdlet.

VBRAzureStorageAccount

False

Named

False

ApplianceSubnet

Specifies the subnet where the cmdlet deploys the helper appliance for the recovered workload.

Note: It is recommended to use separate subnets for the VirtualSubnet and ApplianceSubnet parameters, otherwise some OSes may not boot.

Accepts the VBRAzureNetworkSubnet object. To get this object, run the Get-VBRAzureVirtualNetworkSubnetReturns Microsoft Azure virtual network subnets available for a subscription. cmdlet.

VBRAzureNetworkSubnet

True

Named

False

DiskConfigurations

Specifies the Microsoft Azure VM disk type. The cmdlet will attach disks of this type to the recovered workload.

Default: Premium SSD.

Accepts the VBRAzureDiskConfiguration[] object. To create this object, run the New-VBRAzureDiskConfigurationDefines Azure VM disk types. cmdlet.

VBRAzureDiskConfiguration[]

False

Named

False

Location

Specifies a geographic region to which you want to place the recovered workloads.

Accepts the VBRAzureLocation object. To get this object, run the Get-VBRAzureLocationReturns geographic locations of Microsoft Azure datacenters available for a subscription. cmdlet.

VBRAzureLocation

True

Named

False

NetworkSecurityGroup

Specifies the security group for the recovered workload.

If you do not specify a network security group, Veeam Backup & Replication will automatically create a new group, allow RDP and SSH on it and connect network interfaces to it. For more information, see Default Security Group Rules.

Accepts the VBRNetworkSecurityGroup object. To get this object, run the Get-VBRAzureNetworkSecurityGroupReturns Microsoft Azure security groups. cmdlet.

VBRNetworkSecurityGroup

False

Named

False

NewResourceGroupName

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.

String

False

Named

False

Reason

Specifies a restore reason.

String

False

Named

False

ResourceGroup

Specifies the resource group. The recovered workload 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.

Accepts the VBRAzureResourceGroup object. To get this object, run the Get-VBRAzureResourceGroupReturns Microsoft Azure resource groups available for a subscription. cmdlet.

VBRAzureResourceGroup

False

Named

False

RestorePoint

Specifies the restore point to which you want to recover the workload.

Accepts the COib object. To create this object, run the Get-VBRRestorePointReturns restore points. cmdlet.

COib

True

Named

True (ByPropertyName, ByValue)

RunAsync

Defines that the command returns immediately without waiting for the task to complete.

SwitchParameter

False

Named

False

SkipNetworkSecurityGroup

Defines that the cmdlet will not assign a network security group to the recovered workload.

SwitchParameter

False

Named

False

Subscription

Specifies the Microsoft Azure subscription. The cmdlet will recover the workload to this subscription.

Accepts the VBRAzureSubscription object. To get this object, run the Get-VBRAzureSubscriptionReturns subscriptions associated with a Microsoft Azure account. cmdlet.

VBRAzureSubscription

True

Named

False

Tags

Specifies tags that you want to assign to the recovered workloads.

Accepts the VBRAzureTag[] object. To create this object, run the New-VBRAzureTagDefines Azure metadata tags. cmdlet.

VBRAzureTag[]

False

Named

False

VerifyVMBoot

Defines that Veeam Backup & Replication checks if the recovered workload boots successfully.

Veeam Backup & Replication considers recovery as successful after receiving a response from the recovered workload. If the response is not received, Veeam Backup & Replication sends a warning in the recovery session.

SwitchParameter

False

Named

False

VirtualNetwork

Specifies the Microsoft Azure virtual network. The recovered workload will be connected to this network.

Accepts the VBRAzureVirtualNetwork object. To get this object, run the Get-VBRAzureVirtualNetworkReturns Microsoft Azure virtual networks available for a subscription. cmdlet.

VBRAzureVirtualNetwork

True

Named

False

VirtualSubnet

Specifies the Microsoft Azure virtual subnet. The recovered workload will be connected to this subnet.

Note: It is recommended to use separate subnets for the VirtualSubnet and ApplianceSubnet parameters, otherwise some OSes may not boot.

Accepts the VBRAzureNetworkSubnet object. To get this object, run the Get-VBRAzureVirtualNetworkSubnetReturns Microsoft Azure virtual network subnets available for a subscription. cmdlet.

VBRAzureNetworkSubnet

True

Named

False

VmName

Specifies the VM name. The recovered workload will have this name.

If you do not specify a new name, the restored VM will have the original name.

String

False

Named

False

VmSize

Specifies the Microsoft Azure VM configuration. The recovered workload will use this configuration template.

Accepts the VBRAzureVMSize object. To get this object, run the Get-VBRAzureVMSizeReturns Microsoft Azure VM configuration options available for a subscription. cmdlet.

VBRAzureVMSize

True

Named

False

<CommonParameters>

This cmdlet supports Microsoft PowerShell common parameters. For more information on common parameters, see Microsoft Docs.

Output Object

VBRAzureInstantRecovery

Examples

Example 1. Starting Instant Recovery to Microsoft Azure

This example shows how to start Instant Recovery to Microsoft Azure.

$point = Get-VBRBackup -Name "Tech VM" | Get-VBRRestorePoint -Name "backup-azure-win16-g1" | Sort-Object -Property CreationTime -Descending | Select-Object -First 1

$account = Get-VBRAzureAccount -Name "RestoreToAzureRM@Tech.com"

$subscription = Get-VBRAzureSubscription -Account $account -Name "VeeamDirectRestore2Azure"

$location = Get-VBRAzureLocation -Subscription $subscription -Name "swedencentral"

$vmSize = Get-VBRAzureVMSize -Subscription $subscription -Location $location -Name "Standard_F4s_v2"

$virtualNetwork = Get-VBRAzureVirtualNetwork -Subscription $subscription -Name tech* -Location $location

$subnet = Get-VBRAzureVirtualNetworkSubnet -Network $virtualNetwork -Name "default"

$group = Get-VBRAzureResourceGroup -Subscription $subscription -Name "tech-ts-group" -Location $location

$session = Start-VBRAzureInstantRecovery -RestorePoint $point -Subscription $subscription -Location $location -VmSize $vmSize -VirtualNetwork $virtualNetwork -VirtualSubnet $subnet -ApplianceSubnet $subnet -VmName "tech-recovered-VM" -ResourceGroup $group -RunAsync

Perform the following steps:

  1. Get the restore point:
    1. Run the Get-VBRBackupReturns backups. cmdlet. Specify the Name parameter value.
    2. Pipe the cmdlet output to the Get-VBRRestorePointReturns restore points. cmdlet. Specify the Name parameter value.
    3. Pipe the cmdlet output to the Sort-Object cmdlet. Set the CreationTime value for the Property parameter. Provide the Descending parameter.
    4. Pipe the cmdlet output to the Select-Object cmdlet. Specify the First parameter value.
  2. Run the Get-VBRAzureAccountReturns Microsoft Azure accounts added to Veeam Backup & Replication. cmdlet. Specify the Name parameter value. Save it to the $account variable.
  3. Run the Get-VBRAzureSubscriptionReturns subscriptions associated with a Microsoft Azure account. cmdlet. Set the $account variable as the Account parameter value. Specify the Name parameter value. Save it to the $subscription variable.
  4. Run the Get-VBRAzureLocationReturns geographic locations of Microsoft Azure datacenters available for a subscription. cmdlet. Set the $subscription variable as the Subscription parameter value. Specify the Name parameter value. Save it to the $location variable.
  5. Run the Get-VBRAzureVMSizeReturns Microsoft Azure VM configuration options available for a subscription. cmdlet. Set the $subscription variable as the Subscription parameter value. Set the $location variable as the Location parameter value. Specify the Name parameter value. Save it to the $vmSize variable.
  6. Run the Get-VBRAzureVirtualNetworkReturns Microsoft Azure virtual networks available for a subscription. cmdlet. Set the $subscription variable as the Subscription parameter value. Specify the Name parameter value. Set the $location variable as the Location parameter value. Save it to the $virtualNetwork variable.
  7. Run the Get-VBRAzureVirtualNetworkSubnetReturns Microsoft Azure virtual network subnets available for a subscription. cmdlet. Set the $virtualNetwork variable as the Network parameter value. Specify the Name parameter value. Save it to the $subnet variable.
  8. Run the Get-VBRAzureResourceGroupReturns Microsoft Azure resource groups available for a subscription. cmdlet. Set the $subscription variable as the Subscription parameter value. Set the $location variable as the Location parameter value. Specify the Name parameter value. Save it to the $group variable.
  9. Run the Start-VBRAzureInstantRecovery cmdlet. Specify the following settings:
    • Set the $point variable as the RestorePoint parameter value.
    • Set the $subscription variable as the Subscription parameter value.
    • Set the $location variable as the Location parameter value.
    • Set the $vmSize variable as the VmSize parameter value.
    • Set the $virtualNetwork variable as the VirtualNetwork parameter value.
    • Set the $subnet variable as the VirtualSubnet parameter value.
    • Set the $subnet variable as the ApplianceSubnet parameter value.
    • Specify the VmName parameter value.
    • Set the $group variable as the ResourceGroup parameter value.
    • Specify the RunAsync parameter value.
    • Save the result to the $session variable.

Page updated 2026-08-20

Page content applies to build 13.1.1.18