Categories: Uncategorized

Restore VM from Recovery Service Vault – PowerShell

# Mention your VM here
$VMName = "SubhenduTestVM"
# Mention your Stage Storage here
$stagestorageaccountname = "teststorage"

########################Body####################################################################
$VMRGname = (Get-AzureRmResource -Name $VMName -ResourceType "Microsoft.Compute/virtualMachines").ResourceGroupName
$VMBackupStatus = (Get-AzureRmRecoveryServicesBackupStatus -Name $VMName -ResourceGroupName $VMRGName -Type "AzureVM").BackedUp
$VMRSVVaultID = (Get-AzureRmRecoveryServicesBackupStatus -Name $VMName -ResourceGroupName $VMRGName -Type "AzureVM").VaultId

$VMRSVName = (Get-AzureRmResource -ResourceId $VMRSVVaultID).Name
$RSVRG = (Get-AzureRmResource -Name $VMRSVName).ResourceGroupName
$vault = Get-AzureRMRecoveryServicesVault -ResourceGroupName $RSVRG -Name $VMRSVName
$Container = Get-AzureRMRecoveryServicesBackupContainer -ContainerType "AzureVM" -Status "Registered" -FriendlyName $VMName -VaultId $vault.ID
$BackupItem = Get-AzureRmRecoveryServicesBackupItem -Container $Container -WorkloadType "AzureVM" -VaultId $vault.ID 
$StartDate = (Get-Date).AddDays(-10) 
$EndDate = Get-Date
Get-AzureRMRecoveryServicesVault –Name $VMRSVName | Set-AzureRMRecoveryServicesVaultContext
$RecoveryPointTimeDetails = Get-AzureRmRecoveryServicesBackupRecoveryPoint -Item $BackupItem -StartDate $StartDate.ToUniversalTime() -EndDate $EndDate.ToUniversalTime() -VaultId $VMRSVVaultID
$RPID = $RecoveryPointTimeDetails[0].RecoveryPointId
$RP = Get-AzureRmRecoveryServicesBackupRecoveryPoint -Item $BackupItem -RecoveryPointId $RPID
$stagestorageaccountnameRG = (Get-AzureRmResource -Name $stagestorageaccountname -ResourceType "Microsoft.Storage/storageAccounts").ResourceGroupName
Restore-AzureRmRecoveryServicesBackupItem -RecoveryPoint $RP[0] -StorageAccountName $stagestorageaccountname -StorageAccountResourceGroupName $stagestorageaccountnameRG
################################################################################################
king

Recent Posts

Create Complex NSG – PowerShell

Creating NSG in azure is easy unless you want to create multiple NSG with multiple…

4 years ago

Power Of Powershell 2

Hope you are doing great . Current Time is very critical for us . I…

4 years ago

Power of Powershell

Being a part of Microsoft Education I have explored powershell long time back . But…

4 years ago

New Azure Exam is Ready to Launch

Sorry !! But Yes .  Microsoft is about to release new exam in Azure Segment…

4 years ago

DFSR to Azure File Sync | DFS cross domain Migration | Azure File Sync Agent issue and Solution

Migration is always a part of our life and part of this fantastic IT world…

4 years ago

Powershell Script to create Snapshot from VM and move to storage account

I believe you have enjoyed my last script related to VM snapshot creation . Sometime…

4 years ago