Compartir a través de


Start-AzDataProtectionBackupInstanceRestore

Desencadena la restauración de una instancia de BackupInstance

Syntax

Start-AzDataProtectionBackupInstanceRestore
     -ResourceGroupName <String>
     -BackupInstanceName <String>
     -VaultName <String>
     -Parameter <IAzureBackupRestoreRequest>
     [-SubscriptionId <String>]
     [-ResourceGuardOperationRequest <String[]>]
     [-Token <String>]
     [-RestoreToSecondaryRegion]
     [-DefaultProfile <PSObject>]
     [-AsJob]
     [-NoWait]
     [-WhatIf]
     [-Confirm]
     [<CommonParameters>]
Start-AzDataProtectionBackupInstanceRestore
     -ResourceGroupName <String>
     -BackupInstanceName <String>
     -VaultName <String>
     [-SubscriptionId <String>]
     [-ResourceGuardOperationRequest <String[]>]
     [-Token <String>]
     [-RestoreToSecondaryRegion]
     [-DefaultProfile <PSObject>]
     [-AsJob]
     [-NoWait]
     -ObjectType <String>
     -RestoreTargetInfo <IRestoreTargetInfoBase>
     -SourceDataStoreType <SourceDataStoreType>
     [-IdentityDetailUserAssignedIdentityArmUrl <String>]
     [-IdentityDetailUseSystemAssignedIdentity]
     [-SourceResourceId <String>]
     [-WhatIf]
     [-Confirm]
     [<CommonParameters>]

Description

Desencadena la restauración de una instancia de BackupInstance

Ejemplos

Ejemplo 1: Desencadenar la restauración de un disco de Azure protegido.

$instance = Get-AzDataProtectionBackupInstance -SubscriptionId "xxxx-xxx-xxx" -ResourceGroupName "sarath-rg" -VaultName "sarath-vault"
$rp = Get-AzDataProtectionRecoveryPoint -SubscriptionId "xxx-xxx-xxx" -ResourceGroupName "sarath-rg" -VaultName "sarath-vault" -BackupInstanceName $instance.Name
$restoreRequest = Initialize-AzDataProtectionRestoreRequest -DatasourceType AzureDisk -SourceDataStore OperationalStore -RestoreLocation "westus"  -RestoreType AlternateLocation -TargetResourceId "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/disks/{DiskName}" -RecoveryPoint $rp[0].name
Start-AzDataProtectionBackupInstanceRestore -BackupInstanceName $instance.BackupInstanceName -ResourceGroupName sarath-rg -VaultName sarath-vault -SubscriptionId "xxx-xxx-xxx" -Parameter $restorerequest

Ejemplo 2: Desencadenar la restauración como base de datos para AzureDatabaseForPostgreSQL protegido mediante el almacén de secretos.

$instance = Get-AzDataProtectionBackupInstance -SubscriptionId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -ResourceGroupName "resourceGroupName" -VaultName "vaultName"
$rp = Get-AzDataProtectionRecoveryPoint -SubscriptionId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -ResourceGroupName "resourceGroupName" -VaultName "vaultName" -BackupInstanceName $instance.Name
$targetResourceId = "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/resourceGroupName/providers/Microsoft.DBforPostgreSQL/servers/serverName/databases/targetDbName"
$secretURI = "https://oss-keyvault.vault.azure.net/secrets/oss-secret"
$restoreRequest = Initialize-AzDataProtectionRestoreRequest -DatasourceType AzureDatabaseForPostgreSQL -SourceDataStore VaultStore -RestoreLocation "westus" -RestoreType AlternateLocation -TargetResourceId $targetResourceId -RecoveryPoint $rp[0].Property.RecoveryPointId -SecretStoreURI $secretURI -SecretStoreType AzureKeyVault
$restoreJob = Start-AzDataProtectionBackupInstanceRestore -BackupInstanceName $instance.BackupInstanceName -ResourceGroupName resourceGroupName -VaultName vaultName -SubscriptionId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -Parameter $restorerequest
$jobid = $restoreJob.JobId.Split("/")[-1]
$jobstatus = "InProgress"
while($jobstatus -ne "Completed")
{
    Start-Sleep -Seconds 10
    $currentjob = Get-AzDataProtectionJob -Id $jobid -SubscriptionId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -ResourceGroupName "resourceGroupName" -VaultName "vaultName"
    $jobstatus = $currentjob.Status
}

Los primeros comandos, segundo capturan la instancia y el punto de recuperación de la instancia. El tercer comando inicializa el $targetResourceId con el identificador de la base de datos postgre de destino (targetDbName debe ser el nuevo nombre de la base de datos). El cuarto comando inicializa el URI del secreto. El quinto comando sexto inicializa y desencadena la solicitud de restauración para AzureDatabaseForPostgreSQL con el almacén de secretos. Los séptimos, ocho y noveno comandos realizan un seguimiento del trabajo de restauración hasta su finalización.

Ejemplo 3: Desencadenar la restauración como archivos para AzureDatabaseForPostgreSQL protegido.

$instance = Get-AzDataProtectionBackupInstance -SubscriptionId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -ResourceGroupName "resourceGroupName" -VaultName "vaultName"
$rp = Get-AzDataProtectionRecoveryPoint -SubscriptionId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -ResourceGroupName "resourceGroupName" -VaultName "vaultName" -BackupInstanceName $instance.Name
$targetContainerURI = "https://targetStorageAccount.blob.core.windows.net/targetContainerName"
$fileNamePrefix = "restore_as_files_12345"
$restoreRequest = Initialize-AzDataProtectionRestoreRequest -DatasourceType AzureDatabaseForPostgreSQL -SourceDataStore VaultStore -RestoreLocation "westus" -RestoreType RestoreAsFiles -RecoveryPoint $rp[0].Property.RecoveryPointId -TargetContainerURI $targetContainerURI -FileNamePrefix $fileNamePrefix
$restoreJob = Start-AzDataProtectionBackupInstanceRestore -BackupInstanceName $instance.BackupInstanceName -ResourceGroupName resourceGroupName -VaultName vaultName -SubscriptionId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -Parameter $restorerequest
$jobid = $restoreJob.JobId.Split("/")[-1]
$jobstatus = "InProgress"
while($jobstatus -ne "Completed")
{
    Start-Sleep -Seconds 10
    $currentjob = Get-AzDataProtectionJob -Id $jobid -SubscriptionId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -ResourceGroupName "resourceGroupName" -VaultName "vaultName"
    $jobstatus = $currentjob.Status
}

Los primeros comandos, segundo capturan la instancia y el punto de recuperación de la instancia. El tercer comando inicializa el $targetContainerURI con el identificador del contenedor de la cuenta de almacenamiento de destino. El cuarto comando inicializa el prefijo de nombre de archivo para la restauración. El quinto comando sexto inicializa y desencadena la solicitud de restauración para AzureDatabaseForPostgreSQL con el almacén de secretos. Los séptimos, ocho y noveno comandos realizan un seguimiento del trabajo de restauración hasta su finalización.

Ejemplo 4: Desencadenar la restauración como Archivos para AzureKubernetesService protegido.

$instance = Get-AzDataProtectionBackupInstance -SubscriptionId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -ResourceGroupName "resourceGroupName" -VaultName "vaultName"  | Where-Object { $_.Name -match "aks-cluster-name" }
$rp = Get-AzDataProtectionRecoveryPoint -SubscriptionId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -ResourceGroupName "resourceGroupName" -VaultName "vaultName" -BackupInstanceName $instance.Name
$aksRestoreCriteria = New-AzDataProtectionRestoreConfigurationClientObject -DatasourceType AzureKubernetesService  -PersistentVolumeRestoreMode RestoreWithVolumeData -IncludeClusterScopeResource $true -NamespaceMapping  @{"sourceNamespace1"="targetNamespace1";"sourceNamespace2"="targetNamespace2"}
$snapshotResourceGroupId = "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/snapshotResourceGroup"
$aksOLRRestoreRequest = Initialize-AzDataProtectionRestoreRequest -DatasourceType AzureKubernetesService -SourceDataStore OperationalStore -RestoreLocation eastus -RestoreType OriginalLocation -RecoveryPoint $rps[0].Property.RecoveryPointId -RestoreConfiguration $aksRestoreCriteria -BackupInstance $instance 

Set-AzDataProtectionMSIPermission -VaultResourceGroup "resourceGroupName" -VaultName "vaultName" -PermissionsScope "ResourceGroup" -RestoreRequest $aksOLRRestoreRequest -SnapshotResourceGroupId $snapshotResourceGroupId
$validateRestore = Test-AzDataProtectionBackupInstanceRestore -SubscriptionId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -ResourceGroupName "resourceGroupName" -VaultName "vaultName" -RestoreRequest $aksOLRRestoreRequest -Name $instance.BackupInstanceName
$restoreJob = Start-AzDataProtectionBackupInstanceRestore -SubscriptionId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -ResourceGroupName "resourceGroupName" -VaultName "vaultName" -BackupInstanceName $instance.BackupInstanceName -Parameter $aksOLRRestoreRequest

Los primeros comandos, segundo capturan la instancia y el punto de recuperación de la instancia. El tercer comando inicializa el objeto cliente Restore Configuration usado para inicializar el objeto cliente de solicitud de restauración. El cuarto comando inicializa el identificador del grupo de recursos de instantáneas. El quinto comando inicializa el objeto de solicitud de restauración para la restauración de AzureKubernetesService. El sexto comando asigna los permisos al almacén de copia de seguridad y al clúster de AKS de destino necesario para desencadenar la restauración para AzureKubernetesService. El último comando desencadena la restauración para AzureKubernetesService.

Ejemplo 5: Desencadenar la restauración de blobs con almacenes.

$instance = Get-AzDataProtectionBackupInstance -SubscriptionId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -ResourceGroupName "resourceGroupName" -VaultName "vaultName" | Where-Object { $_.Name -match "storageAcountName" }
$rp = Get-AzDataProtectionRecoveryPoint -SubscriptionId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -ResourceGroupName "resourceGroupName" -VaultName "vaultName" -BackupInstanceName $instance.Name
$backedUpContainers = $instance.Property.PolicyInfo.PolicyParameter.BackupDatasourceParametersList[0].ContainersList
$restoreReq = Initialize-AzDataProtectionRestoreRequest -DatasourceType AzureBlob -SourceDataStore VaultStore -RestoreLocation "vaultLocation" -RecoveryPoint $rp[0].Name -ItemLevelRecovery -RestoreType AlternateLocation -TargetResourceId "targetStorageAccountId" -ContainersList $backedUpContainers[0,1]
Test-AzDataProtectionBackupInstanceRestore -Name $instance[0].Name -ResourceGroupName "resourceGroupName" -SubscriptionId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -VaultName "vaultName" -RestoreRequest $restoreReq
$restoreJob = Start-AzDataProtectionBackupInstanceRestore -SubscriptionId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -ResourceGroupName "resourceGroupName" -VaultName "vaultName" -BackupInstanceName $instance.BackupInstanceName -Parameter $restoreReq

Los primeros comandos, segundo capturan la instancia y el punto de recuperación de la instancia. El tercer comando captura los contenedores protegidos con la directiva de almacén. El cuarto comando inicializa el objeto de solicitud de restauración para la restauración de AzureBlob. El quinto comando desencadena la validación antes de la restauración. El último comando desencadena la restauración de contenedores de blobs con almacenes.

Ejemplo 6: Desencadenar la restauración entre suscripciones para blobs con almacén.

$instance = Get-AzDataProtectionBackupInstance -SubscriptionId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -ResourceGroupName "resourceGroupName" -VaultName "vaultName" | Where-Object { $_.Name -match "storageAcountName" }
$rp = Get-AzDataProtectionRecoveryPoint -SubscriptionId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -ResourceGroupName "resourceGroupName" -VaultName "vaultName" -BackupInstanceName $instance.Name
$backedUpContainers = $instance.Property.PolicyInfo.PolicyParameter.BackupDatasourceParametersList[0].ContainersList
$targetCrossSubscriptionStorageAccountId = "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/resourceGroupName/providers/Microsoft.Storage/storageAccounts/targetStorageAccount"
$restoreReqCSR = Initialize-AzDataProtectionRestoreRequest -DatasourceType AzureBlob -SourceDataStore VaultStore -RestoreLocation "vaultLocation" -RecoveryPoint $rp[0].Name -ItemLevelRecovery -RestoreType AlternateLocation -TargetResourceId $targetCrossSubscriptionStorageAccountId -ContainersList $backedUpContainers[0,1]
Test-AzDataProtectionBackupInstanceRestore -Name $instance[0].Name -ResourceGroupName "resourceGroupName" -SubscriptionId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -VaultName "vaultName" -RestoreRequest $restoreReqCSR
$restoreJobCSR = Start-AzDataProtectionBackupInstanceRestore -SubscriptionId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -ResourceGroupName "resourceGroupName" -VaultName "vaultName" -BackupInstanceName $instance.BackupInstanceName -Parameter $restoreReqCSR

Los primeros comandos, segundo capturan la instancia y el punto de recuperación de la instancia. El tercer comando captura los contenedores protegidos con la directiva de almacén. El cuarto comando inicializa el identificador de la cuenta de almacenamiento entre suscripciones de destino. El quinto comando inicializa el objeto de solicitud de restauración para la restauración entre suscripciones de AzureBlob. El sexto comando desencadenador valida antes de la restauración. El último comando desencadena la restauración entre suscripciones para contenedores de blobs con almacén.

Ejemplo 7: Desencadenar la restauración entre suscripciones como archivos para AzureDatabaseForPostgreSQL.

$instance = Get-AzDataProtectionBackupInstance -SubscriptionId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -ResourceGroupName "resourceGroupName" -VaultName "vaultName" | Where-Object { $_.Property.DataSourceInfo.ResourceType -match "Postgre" }
$rp = Get-AzDataProtectionRecoveryPoint -BackupInstanceName $instance[0].BackupInstanceName -ResourceGroupName "resourceGroupName" -SubscriptionId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -VaultName "vaultName"
$targetResourceArmId = "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/crossSubResourceGroupName/providers/Microsoft.Storage/storageAccounts/akneemasaecy/blobServices/default/containers/oss-csr-container"
$targetContainerURI =  "https://akneemasaecy.blob.core.windows.net/oss-csr-container"
$fileNamePrefix = "oss-csr-pstest-restoreasfiles"
$ossRestoreReqFiles = Initialize-AzDataProtectionRestoreRequest -DatasourceType AzureDatabaseForPostgreSQL -SourceDataStore VaultStore -RestoreLocation "vaultLocation" -RestoreType RestoreAsFiles -RecoveryPoint $rp[0].Property.RecoveryPointId -TargetContainerURI $targetContainerURI -FileNamePrefix $fileNamePrefix -TargetResourceIdForRestoreAsFile $targetContainerArmId
$validateRestore = Test-AzDataProtectionBackupInstanceRestore -Name $instance[0].Name -ResourceGroupName "resourceGroupName" -SubscriptionId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -VaultName "vaultName" -RestoreRequest $ossRestoreReqFiles
$restoreJobCSR = Start-AzDataProtectionBackupInstanceRestore -SubscriptionId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -ResourceGroupName "resourceGroupName" -VaultName "vaultName" -BackupInstanceName $instance.BackupInstanceName -Parameter $ossRestoreReqFiles
$jobid = $restoreJobCSR.JobId.Split("/")[-1]
$jobstatus = "InProgress"
while($jobstatus -ne "Completed")
{
    Start-Sleep -Seconds 10
    $currentjob = Get-AzDataProtectionJob -Id $jobid -SubscriptionId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -ResourceGroupName "resourceGroupName" -VaultName "vaultName"
    $jobstatus = $currentjob.Status
}

Los primeros comandos capturan la instancia de copia de seguridad y el punto de recuperación de la instancia de copia de seguridad. El tercer comando inicializa el identificador de ARM para el contenedor de destino. Este parámetro es necesario para almacenes en los que la restauración entre suscripciones está deshabilitada y opcional para los almacenes habilitados para CSR. El cuarto comando, quinto, inicializa targetContainerURI y fileNamePrefix para la restauración. El sexto comando inicializa el objeto de solicitud de restauración para la restauración de AzureDatabaseForPostgreSQL. El séptimo comando desencadena la validación antes de la restauración. El último comando desencadena la restauración entre suscripciones como archivos para AzureDatabaseForPostgreSQL.

Ejemplo 8: Desencadenar la restauración entre regiones para AzureDatabaseForPostgreSQL.

$restoreJobCRR = Start-AzDataProtectionBackupInstanceRestore -BackupInstanceName $instance.Name -ResourceGroupName $ResourceGroupName -VaultName $vaultName -SubscriptionId $SubscriptionId -Parameter $OssRestoreReq -RestoreToSecondaryRegion
$jobid = $restoreJobCRR.JobId.Split("/")[-1]
$jobstatus = "InProgress"
while($jobstatus -ne "Completed")
{
    Start-Sleep -Seconds 10
    $currentjob = Get-AzDataProtectionJob -Id $jobid -SubscriptionId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -ResourceGroupName "resourceGroupName" -VaultName "vaultName" -UseSecondaryRegion
    $jobstatus = $currentjob.Status
}

Este comando desencadena la restauración entre regiones para AzureDatabaseForPostgreSQL. Para desencadenar la restauración entre regiones en la región secundaria, use el modificador RestoreToSecondaryRegion.

Ejemplo 9: Desencadenar la restauración como Archivos para el tipo de origen de datos AzureDatabaseForPGFlexServer, AzureDatabaseForMySQL.

$instance = Get-AzDataProtectionBackupInstance -SubscriptionId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -ResourceGroupName "resourceGroupName" -VaultName "vaultName"  | Where-Object { $_.Name -match "test-pgflex" }
$rps = Get-AzDataProtectionRecoveryPoint -SubscriptionId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -ResourceGroupName "resourceGroupName" -VaultName "vaultName" -BackupInstanceName $instance.Name
$targetContainerURI = "https://teststorageaccount.blob.core.windows.net/powershellpgflexrestore"
$storageAccId = (Get-AzStorageAccount -ResourceGroupName "teststorageaccountRG" -Name "teststorageaccount").Id
$pgFlexRestoreAsFilesRequest = Initialize-AzDataProtectionRestoreRequest -DatasourceType AzureDatabaseForPGFlexServer -SourceDataStore VaultStore -RestoreLocation $vault.Location -RestoreType RestoreAsFiles -RecoveryPoint $rps[0].Property.RecoveryPointId -TargetContainerURI $targetContainerURI
Set-AzDataProtectionMSIPermission -VaultResourceGroup "resourceGroupName" -VaultName "vaultName" -PermissionsScope "ResourceGroup" -RestoreRequest $pgFlexRestoreAsFilesRequest -DatasourceType AzureDatabaseForPGFlexServer -SubscriptionId $SubscriptionId -StorageAccountARMId $storageAccId
$validateRestore = Test-AzDataProtectionBackupInstanceRestore -SubscriptionId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -ResourceGroupName "resourceGroupName" -VaultName "vaultName" -RestoreRequest $pgFlexRestoreAsFilesRequest -Name $instance.BackupInstanceName
$restoreJob = Start-AzDataProtectionBackupInstanceRestore -SubscriptionId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -ResourceGroupName "resourceGroupName" -VaultName "vaultName" -BackupInstanceName $instance.BackupInstanceName -Parameter $pgFlexRestoreAsFilesRequest

Los primeros comandos, segundo capturan la instancia y el punto de recuperación de la instancia. El tercer y cuarto comando inicializa el identificador del contenedor de destino y el identificador de ARM de la cuenta de almacenamiento de destino. El quinto comando inicializa el objeto de solicitud de restauración para la restauración de AzureDatabaseForPGFlexServer. Este ejemplo también funciona para el tipo de origen de datos AzureDatabaseForMySQL. El sexto comando asigna los permisos al almacén de copia de seguridad y otros permisos necesarios para desencadenar la restauración para AzureDatabaseForPGFlexServer. El último comando desencadena la restauración para AzureDatabaseForPGFlexServer.

Ejemplo 10: Desencadenar copias de seguridad almacenadas conatiners ItemLevelRestore con PrefixMatch para Azureblob.

$instance = Get-AzDataProtectionBackupInstance -SubscriptionId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -ResourceGroupName "resourceGroupName" -VaultName "vaultName" | Where-Object { $_.Name -match "storageAcountName" }
$rp = Get-AzDataProtectionRecoveryPoint -SubscriptionId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -ResourceGroupName "resourceGroupName" -VaultName "vaultName" -BackupInstanceName $instance.Name
$backedUpContainers = $instance.Property.PolicyInfo.PolicyParameter.BackupDatasourceParametersList[0].ContainersList
$prefMatch = @{
    $backedUpContainers[0] = @("Su", "PS")
    $backedUpContainers[1]= @("meta", "coll", "Su")
}
$targetStorageAccountId = "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/resourceGroupName/providers/Microsoft.Storage/storageAccounts/targetStorageAccount"
$restoreReqILR = Initialize-AzDataProtectionRestoreRequest -DatasourceType AzureBlob -SourceDataStore VaultStore -RestoreLocation "vaultLocation" -RecoveryPoint $rp[0].Name -ItemLevelRecovery -RestoreType AlternateLocation -TargetResourceId $targetStorageAccountId -ContainersList $backedUpContainers[0,1] -PrefixMatch $prefMatch
Test-AzDataProtectionBackupInstanceRestore -Name $instance[0].Name -ResourceGroupName "resourceGroupName" -SubscriptionId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -VaultName "vaultName" -RestoreRequest $restoreReqILR
$restoreJobILR = Start-AzDataProtectionBackupInstanceRestore -SubscriptionId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -ResourceGroupName "resourceGroupName" -VaultName "vaultName" -BackupInstanceName $instance.BackupInstanceName -Parameter $restoreJobILR

Los primeros comandos, segundo capturan la instancia y el punto de recuperación de la instancia. El tercer comando captura los contenedores protegidos con la directiva de almacén. El cuarto comando inicializa la matriz de prefijos para cada contenedor. PrefixMatch es una tabla hash donde cada clave es el nombre de conatiner que se va a restaurar y el valor es una lista de prfijos de cadena para los nombres de contenedor para la recuperación de nivel de elemento. El quinto comando inicializa el identificador de la cuenta de almacenamiento de destino. El sexto comando inicializa el objeto de solicitud de restauración para la restauración de AzureBlob con parámetros ContainersList, PrefixMatch. El séptimo comando desencadena la validación antes de la restauración. El último comando desencadena la coincidencia del prefijo de la restauración de nivel de elemento para los contenedores de blobs con almacenes.

Parámetros

-AsJob

Ejecución del comando como trabajo

Tipo:SwitchParameter
Position:Named
valor predeterminado:None
Requerido:False
Accept pipeline input:False
Accept wildcard characters:False

-BackupInstanceName

Nombre de la instancia de copia de seguridad

Tipo:String
Position:Named
valor predeterminado:None
Requerido:True
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

Le solicita su confirmación antes de ejecutar el cmdlet.

Tipo:SwitchParameter
Aliases:cf
Position:Named
valor predeterminado:None
Requerido:False
Accept pipeline input:False
Accept wildcard characters:False

-DefaultProfile

Tipo:PSObject
Aliases:AzureRMContext, AzureCredential
Position:Named
valor predeterminado:None
Requerido:False
Accept pipeline input:False
Accept wildcard characters:False

-IdentityDetailUserAssignedIdentityArmUrl

Dirección URL de ARM para la identidad asignada por el usuario

Tipo:String
Position:Named
valor predeterminado:None
Requerido:False
Accept pipeline input:False
Accept wildcard characters:False

-IdentityDetailUseSystemAssignedIdentity

Especifica si la BI está protegida por la identidad del sistema

Tipo:SwitchParameter
Position:Named
valor predeterminado:None
Requerido:False
Accept pipeline input:False
Accept wildcard characters:False

-NoWait

Ejecutar el comando de forma asincrónica

Tipo:SwitchParameter
Position:Named
valor predeterminado:None
Requerido:False
Accept pipeline input:False
Accept wildcard characters:False

-ObjectType

Tipo de objeto de la solicitud de restauración

Tipo:String
Position:Named
valor predeterminado:None
Requerido:True
Accept pipeline input:False
Accept wildcard characters:False

-Parameter

Restaure el objeto de solicitud que se va a inicializar mediante el cmdlet Initialize-AzDataProtectionRestoreRequest Para construir, vea la sección NOTES para propiedades PARAMETER y crear una tabla hash.

Tipo:IAzureBackupRestoreRequest
Position:Named
valor predeterminado:None
Requerido:True
Accept pipeline input:True
Accept wildcard characters:False

-ResourceGroupName

Nombre del grupo de recursos donde está presente el almacén de copia de seguridad.

Tipo:String
Position:Named
valor predeterminado:None
Requerido:True
Accept pipeline input:False
Accept wildcard characters:False

-ResourceGuardOperationRequest

Solicitud de operación de protección de recursos con el formato similar a <resourceguard-ARMID>/dppTriggerRestoreRequests/default. Use este parámetro cuando la operación esté protegida por MUA.

Tipo:String[]
Position:Named
valor predeterminado:None
Requerido:False
Accept pipeline input:False
Accept wildcard characters:False

-RestoreTargetInfo

Obtiene o establece la información de destino de restauración Para construir, vea la sección NOTES para las propiedades RESTORETARGETINFO y crear una tabla hash.

Tipo:IRestoreTargetInfoBase
Position:Named
valor predeterminado:None
Requerido:True
Accept pipeline input:False
Accept wildcard characters:False

-RestoreToSecondaryRegion

Cambiar el parámetro para desencadenar la restauración a la región secundaria (restauración entre regiones)

Tipo:SwitchParameter
Position:Named
valor predeterminado:None
Requerido:False
Accept pipeline input:False
Accept wildcard characters:False

-SourceDataStoreType

Tipo del almacén de datos de origen

Tipo:SourceDataStoreType
Position:Named
valor predeterminado:None
Requerido:True
Accept pipeline input:False
Accept wildcard characters:False

-SourceResourceId

Identificador completo de Azure Resource Manager del origen de datos que se está recuperando

Tipo:String
Position:Named
valor predeterminado:None
Requerido:False
Accept pipeline input:False
Accept wildcard characters:False

-SubscriptionId

Identificador de suscripción del almacén de copia de seguridad

Tipo:String
Position:Named
valor predeterminado:None
Requerido:False
Accept pipeline input:False
Accept wildcard characters:False

-Token

Parámetro para autorizar las operaciones protegidas por protección de recursos entre inquilinos. Use el comando (Get-AzAccessToken -TenantId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"). Token para capturar el token de autorización para otro inquilino.

Tipo:String
Position:Named
valor predeterminado:None
Requerido:False
Accept pipeline input:False
Accept wildcard characters:False

-VaultName

Nombre del almacén de copia de seguridad

Tipo:String
Position:Named
valor predeterminado:None
Requerido:True
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

Muestra lo que sucedería si se ejecutara el cmdlet. El cmdlet no se ejecuta.

Tipo:SwitchParameter
Aliases:wi
Position:Named
valor predeterminado:None
Requerido:False
Accept pipeline input:False
Accept wildcard characters:False

Entradas

IAzureBackupRestoreRequest

Salidas

IOperationJobExtendedInfo