@@ -1332,3 +1332,62 @@ function Test-AzureVMDiskExclusion
1332
1332
cleanup- ResourceGroup $resourceGroupName
1333
1333
}
1334
1334
}
1335
+
1336
+ function Test-AzureRestoreWithCVMOsDiskEncryptionSetId ()
1337
+ {
1338
+ $location = " eastus2euap"
1339
+ $resourceGroupName = " sgholap-rg"
1340
+ $vaultName = " PSTestingVault"
1341
+ $vmName = " PSCVMRestoreTestingVM"
1342
+ $saName = " sgholapecysa3"
1343
+ $targetVMName = " PSRestoreVM"
1344
+ $targetVNetName = " testadeecy-vnet"
1345
+ $targetRG = " asmaskarrg"
1346
+ $targetSubnetName = " default"
1347
+ $owner = " sgholap"
1348
+ $subscriptionId = " 5288acd1-ba79-4377-9205-9f220331a44a"
1349
+ $recoveryPointId = " 807152782396876"
1350
+ $cVMOSDiskEncryptionSetId = " /subscriptions/5288acd1-ba79-4377-9205-9f220331a44a/resourceGroups/sgholap-rg/providers/Microsoft.Compute/diskEncryptionSets/CVMPSRestoreDES"
1351
+ try
1352
+ {
1353
+ # Setup
1354
+ $vault = Get-AzRecoveryServicesVault - ResourceGroupName $resourceGroupName - Name $vaultName
1355
+ $namedContainer = Get-AzRecoveryServicesBackupContainer - ContainerType " AzureVM" - FriendlyName $vmName - VaultId $vault.ID
1356
+ $backupitem = Get-AzRecoveryServicesBackupItem - Container $namedContainer - WorkloadType " AzureVM" - VaultId $vault.ID
1357
+ $rp = Get-AzRecoveryServicesBackupRecoveryPoint - Item $backupitem - VaultId $vault.ID - RecoveryPointId $recoveryPointId
1358
+
1359
+ # Test command by passing CVMOSDiskEncryptionSetId as non-empty string
1360
+ $restoreJob = Restore-AzRecoveryServicesBackupItem - VaultId $vault.ID - VaultLocation $vault.Location `
1361
+ - RecoveryPoint $rp [0 ] - StorageAccountName $saName - StorageAccountResourceGroupName $vault.ResourceGroupName - TargetResourceGroupName $targetRG - TargetVMName $targetVMName - TargetVNetName $targetVNetName - TargetVNetResourceGroup $targetRG - TargetSubnetName $targetSubnetName - CVMOSDiskEncryptionSetId $cVMOSDiskEncryptionSetId
1362
+
1363
+ $restoreJob = $restoreJob | Wait-AzRecoveryServicesBackupJob - VaultId $vault.ID
1364
+
1365
+ Assert-True { $restoreJob.Status -eq " Completed" }
1366
+
1367
+ Delete- VM $targetRG $targetVMName
1368
+
1369
+ # Test command by passing CVMOSDiskEncryptionSetId as empty string
1370
+ $cVMOSDiskEncryptionSetId = " "
1371
+
1372
+ $restoreJob = Restore-AzRecoveryServicesBackupItem - VaultId $vault.ID - VaultLocation $vault.Location `
1373
+ - RecoveryPoint $rp [0 ] - StorageAccountName $saName - StorageAccountResourceGroupName $vault.ResourceGroupName - TargetResourceGroupName $targetRG - TargetVMName $targetVMName - TargetVNetName $targetVNetName - TargetVNetResourceGroup $targetRG - TargetSubnetName $targetSubnetName - CVMOSDiskEncryptionSetId $cVMOSDiskEncryptionSetId
1374
+
1375
+ $restoreJob = $restoreJob | Wait-AzRecoveryServicesBackupJob - VaultId $vault.ID
1376
+
1377
+ Assert-True { $restoreJob.Status -eq " Completed" }
1378
+
1379
+ Delete- VM $targetRG $targetVMName
1380
+
1381
+ # Test command without passing CVMOSDiskEncryptionSetId
1382
+ $restoreJob = Restore-AzRecoveryServicesBackupItem - VaultId $vault.ID - VaultLocation $vault.Location `
1383
+ - RecoveryPoint $rp [0 ] - StorageAccountName $saName - StorageAccountResourceGroupName $vault.ResourceGroupName - TargetResourceGroupName $targetRG - TargetVMName $targetVMName - TargetVNetName $targetVNetName - TargetVNetResourceGroup $targetRG - TargetSubnetName $targetSubnetName
1384
+
1385
+ $restoreJob = $restoreJob | Wait-AzRecoveryServicesBackupJob - VaultId $vault.ID
1386
+
1387
+ Assert-True { $restoreJob.Status -eq " Completed" }
1388
+ }
1389
+ finally
1390
+ {
1391
+ Delete- VM $targetRG $targetVMName
1392
+ }
1393
+ }
0 commit comments