Start-AzDataProtectionBackupInstanceRestore
Utlösare återställs för en BackupInstance
Syntax
Trigger (Standard)
Start-AzDataProtectionBackupInstanceRestore
-ResourceGroupName <String>
-BackupInstanceName <String>
-VaultName <String>
-Parameter <IAzureBackupRestoreRequest>
[-SubscriptionId <String>]
[-ResourceGuardOperationRequest <String[]>]
[-Token <String>]
[-SecureToken <SecureString>]
[-RestoreToSecondaryRegion]
[-DefaultProfile <PSObject>]
[-AsJob]
[-NoWait]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
TriggerExpanded
Start-AzDataProtectionBackupInstanceRestore
-ResourceGroupName <String>
-BackupInstanceName <String>
-VaultName <String>
-ObjectType <String>
-RestoreTargetInfo <IRestoreTargetInfoBase>
-SourceDataStoreType <SourceDataStoreType>
[-SubscriptionId <String>]
[-ResourceGuardOperationRequest <String[]>]
[-Token <String>]
[-SecureToken <SecureString>]
[-RestoreToSecondaryRegion]
[-DefaultProfile <PSObject>]
[-AsJob]
[-NoWait]
[-IdentityDetailUserAssignedIdentityArmUrl <String>]
[-IdentityDetailUseSystemAssignedIdentity]
[-SourceResourceId <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
Utlösare återställs för en BackupInstance
Exempel
Exempel 1: Utlösaråterställning för en skyddad Azure-disk.
$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
Exempel 2: Utlösaråterställning som databas för skyddat AzureDatabaseForPostgreSQL med hjälp av hemligt arkiv.
$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
}
De första, andra kommandona hämtar instansen och återställningspunkten för instansen.
Det tredje kommandot initierar $targetResourceId med ID:t för postgre-måldatabasen (targetDbName ska vara det nya databasnamnet).
Det fjärde kommandot initierar den hemliga URI:n.
Det femte, sjätte kommandot initierar och utlöser återställningsbegäran för AzureDatabaseForPostgreSQL med hemligt arkiv.
De sjunde, åtta, nionde kommandona spårar återställningsjobbet till slutförande.
Exempel 3: Utlösaråterställning som filer för skyddade AzureDatabaseForPostgreSQL.
$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
}
De första, andra kommandona hämtar instansen och återställningspunkten för instansen.
Det tredje kommandot initierar $targetContainerURI med ID:t för mållagringskontocontainern.
Det fjärde kommandot initierar filnamnsprefixet för återställning.
Det femte, sjätte kommandot initierar och utlöser återställningsbegäran för AzureDatabaseForPostgreSQL med hemligt arkiv.
De sjunde, åtta, nionde kommandona spårar återställningsjobbet till slutförande.
Exempel 4: Utlösaråterställning som filer för skyddad AzureKubernetesService.
$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
De första, andra kommandona hämtar instansen och återställningspunkten för instansen.
Det tredje kommandot initierar klientobjektet Återställ konfiguration som används för att initiera klientobjektet för återställningsbegäran.
Det fjärde kommandot initierar resursgrupps-ID för ögonblicksbilder. Det femte kommandot initierar objektet för återställningsbegäran för AzureKubernetesService-återställning.
Det sjätte kommandot tilldelar de behörigheter till säkerhetskopieringsvalvet och aks-målklustret som krävs för att utlösa återställningen för AzureKubernetesService.
Det sista kommandot utlöser återställningen för AzureKubernetesService.
Exempel 5: Utlösaråterställning för valvblobar.
$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
De första, andra kommandona hämtar instansen och återställningspunkten för instansen.
Det tredje kommandot hämtar de containrar som skyddas med en välvd princip.
Det fjärde kommandot initierar objektet för återställningsbegäran för AzureBlob-återställning.
Det femte kommandot utlöser verifiera före återställning.
Det sista kommandot utlöser återställningen för välvda blobcontainrar.
Exempel 6: Utlösa återställning mellan prenumerationer för valvblobar.
$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
De första, andra kommandona hämtar instansen och återställningspunkten för instansen.
Det tredje kommandot hämtar de containrar som skyddas med en välvd princip.
Det fjärde kommandot initierar mållagringskonto-ID för flera prenumerationer. Det femte kommandot initierar objektet för återställningsbegäran för AzureBlob-återställning mellan prenumerationer.
Det sjätte kommandot utlöser verifiera före återställning.
Det sista kommandot utlöser återställning mellan prenumerationer för valvblobcontainrar.
Exempel 7: Utlösa återställning mellan prenumerationer som filer för 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
}
De första, andra kommandona hämtar säkerhetskopieringsinstansen och återställningspunkten för säkerhetskopieringsinstansen.
Det tredje kommandot initierar ARM-ID:t för målcontainern.
Den här parametern behövs för valv där återställning mellan prenumerationer är inaktiverat och valfritt för CSR-aktiverade valv.
Det fjärde, femte kommandot initierar targetContainerURI och fileNamePrefix för återställning.
Det sjätte kommandot initierar objektet för återställningsbegäran för AzureDatabaseForPostgreSQL-återställning.
Det sjunde kommandot utlöser verifiera före återställning.
Det sista kommandot utlöser återställning mellan prenumerationer som filer för AzureDatabaseForPostgreSQL.
Exempel 8: Utlösa återställning mellan regioner för 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
}
Det här kommandot utlöser återställning mellan regioner för AzureDatabaseForPostgreSQL.
Om du vill utlösa återställning mellan regioner till en sekundär region använder du Växeln RestoreToSecondaryRegion.
$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
De första, andra kommandona hämtar instansen och återställningspunkten för instansen.
Det tredje och fjärde kommandot initierar målcontainerns ID och mållagringskontots ARM-ID. Det femte kommandot initierar objektet för återställningsbegäran för Återställning av AzureDatabaseForPGFlexServer-återställning.
Det här exemplet fungerar också för datakällans typ AzureDatabaseForMySQL.
Det sjätte kommandot tilldelar behörigheter till säkerhetskopieringsvalvet och andra behörigheter som krävs för att utlösa återställningen för AzureDatabaseForPGFlexServer.
Det sista kommandot utlöser återställningen för AzureDatabaseForPGFlexServer.
Exempel 10: Utlösa välvda säkerhetskopieringscontainrar ItemLevelRestore med PrefixMatch för 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
De första, andra kommandona hämtar instansen och återställningspunkten för instansen.
Det tredje kommandot hämtar de containrar som skyddas med en välvd princip.
Det fjärde kommandot initierar prefixmatrisen för varje container.
PrefixMatch är en hashtable där varje nyckel är containernamnet som återställs och värdet är en lista med sträng-prfix för containernamn för återställning på objektnivå.
Det femte kommandot initierar mållagringskontots ID. Det sjätte kommandot initierar objektet för återställningsbegäran för AzureBlob-återställning med parametrarna ContainersList, PrefixMatch.
Det sjunde kommandot utlöser verifiera före återställning.
Det sista kommandot utlöser prefixet matchar återställning på objektnivå för valvblobcontainrar.
Exempel 11: Utlösa alternativ platsvalvåterställning för AzureKubernetesService
$subId = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
$resourceGroupName = "resourceGroupName"
$vaultName = "vaultName"
$location = "eastasia"
$snapshotResourceGroupId = "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/stagingRG"
$stagingStorageAccount = "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/stagingRG/providers/Microsoft.Storage/storageAccounts/snapshotsa"
$targetAKSClusterARMId = "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/targetRG/providers/Microsoft.ContainerService/managedClusters/targetKubernetesCluster"
$instance = Get-AzDataProtectionBackupInstance -SubscriptionId $subId -ResourceGroupName $resourceGroupName -VaultName $vaultName | Where-Object { $_.Name -match "aks-cluster-name" }
$rp = Get-AzDataProtectionRecoveryPoint -SubscriptionId $subId -ResourceGroupName $resourceGroupName -VaultName $vaultName -BackupInstanceName $instance.Name
$aksRestoreCriteria = New-AzDataProtectionRestoreConfigurationClientObject -DatasourceType AzureKubernetesService -PersistentVolumeRestoreMode RestoreWithVolumeData -IncludeClusterScopeResource $true -StagingResourceGroupId $snapshotResourceGroupId -StagingStorageAccountId $stagingStorageAccount -IncludedNamespace "hrweb" -NamespaceMapping @{"hrweb"="hrwebrestore"}
$aksALRRestoreRequest = Initialize-AzDataProtectionRestoreRequest -DatasourceType AzureKubernetesService -SourceDataStore VaultStore -RestoreLocation $location -RestoreType AlternateLocation -RecoveryPoint $rp[0].Property.RecoveryPointId -RestoreConfiguration $aksRestoreCriteria -TargetResourceId $targetAKSClusterARMId
# assign necessary permissions from portal
Set-AzContext -SubscriptionId $subId
Set-AzDataProtectionMSIPermission -VaultResourceGroup $resourceGroupName -VaultName $vaultName -PermissionsScope "ResourceGroup" -RestoreRequest $aksALRRestoreRequest -SnapshotResourceGroupId $snapshotResourceGroupId
$validateRestore = Test-AzDataProtectionBackupInstanceRestore -SubscriptionId $subId -ResourceGroupName $resourceGroupName -VaultName $vaultName -RestoreRequest $aksALRRestoreRequest -Name $instance.BackupInstanceName
$restoreJob = Start-AzDataProtectionBackupInstanceRestore -SubscriptionId $subId -ResourceGroupName $resourceGroupName -VaultName $vaultName -BackupInstanceName $instance.BackupInstanceName -Parameter $aksALRRestoreRequest
Först initierar vi de nödvändiga variabler som ska användas i återställningsskriptet.
Sedan hämtar vi säkerhetskopieringsinstansen och återställningspunkten för instansen.
Därefter initierar vi klientobjektet Återställ konfiguration, som används för att konfigurera klientobjektet för återställningsbegäran.
Observera att för valvåterställningar har vi inkluderat parametrarna StagingResourceGroupId och StagingStorageAccountId.
Sedan initierar vi objektet för återställningsbegäran för en alternativ platsåterställning i Azure Kubernetes Service (AKS).
Därefter tilldelar vi nödvändiga behörigheter till säkerhetskopieringsvalvet och AKS-målklustret för att aktivera återställningsåtgärden.
Observera att det här kommandot inte stöds fullt ut för alla AKS-scenarier. använd Azure-portalen för att tilldela nödvändiga behörigheter.
Slutligen använder vi testkommandot för att verifiera återställningskonfigurationen och se till att nödvändiga behörigheter finns på plats innan återställningen för Azure Kubernetes Service utlöses.
Parametrar
-AsJob
Kör kommandot som ett jobb
Parameteregenskaper
Typ: SwitchParameter
Standardvärde: None
Stöder jokertecken: False
DontShow: False
Parameteruppsättningar
(All)
Position: Named
Obligatorisk: False
Värde från pipeline: False
Värde från pipeline efter egenskapsnamn: False
Värde från återstående argument: False
-BackupInstanceName
Namnet på säkerhetskopieringsinstansen
Parameteregenskaper
Typ: String
Standardvärde: None
Stöder jokertecken: False
DontShow: False
Parameteruppsättningar
(All)
Position: Named
Obligatorisk: True
Värde från pipeline: False
Värde från pipeline efter egenskapsnamn: False
Värde från återstående argument: False
-Confirm
Uppmanar dig att bekräfta innan du kör cmdleten.
Parameteregenskaper
Typ: SwitchParameter
Standardvärde: None
Stöder jokertecken: False
DontShow: False
Alias: jfr
Parameteruppsättningar
(All)
Position: Named
Obligatorisk: False
Värde från pipeline: False
Värde från pipeline efter egenskapsnamn: False
Värde från återstående argument: False
-DefaultProfile
Utlösare återställs för en BackupInstance
Parameteregenskaper
Typ: PSObject
Standardvärde: None
Stöder jokertecken: False
DontShow: False
Alias: AzureRMContext, AzureCredential
Parameteruppsättningar
(All)
Position: Named
Obligatorisk: False
Värde från pipeline: False
Värde från pipeline efter egenskapsnamn: False
Värde från återstående argument: False
-IdentityDetailUserAssignedIdentityArmUrl
ARM-URL för användartilldelad identitet
Parameteregenskaper
Typ: String
Standardvärde: None
Stöder jokertecken: False
DontShow: False
Parameteruppsättningar
TriggerExpanded
Position: Named
Obligatorisk: False
Värde från pipeline: False
Värde från pipeline efter egenskapsnamn: False
Värde från återstående argument: False
-IdentityDetailUseSystemAssignedIdentity
Anger om BI skyddas av systemidentitet
Parameteregenskaper
Typ: SwitchParameter
Standardvärde: None
Stöder jokertecken: False
DontShow: False
Parameteruppsättningar
TriggerExpanded
Position: Named
Obligatorisk: False
Värde från pipeline: False
Värde från pipeline efter egenskapsnamn: False
Värde från återstående argument: False
-NoWait
Kör kommandot asynkront
Parameteregenskaper
Typ: SwitchParameter
Standardvärde: None
Stöder jokertecken: False
DontShow: False
Parameteruppsättningar
(All)
Position: Named
Obligatorisk: False
Värde från pipeline: False
Värde från pipeline efter egenskapsnamn: False
Värde från återstående argument: False
-ObjectType
Objekttyp för återställningsbegäran
Parameteregenskaper
Typ: String
Standardvärde: None
Stöder jokertecken: False
DontShow: False
Parameteruppsättningar
TriggerExpanded
Position: Named
Obligatorisk: True
Värde från pipeline: False
Värde från pipeline efter egenskapsnamn: False
Värde från återstående argument: False
-Parameter
Återställ begärandeobjekt som ska initieras med hjälp av Initialize-AzDataProtectionRestoreRequest cmdlet Om du vill skapa, se AVSNITTET ANTECKNINGAR för PARAMETER-egenskaper och skapa en hash-tabell.
Parameteregenskaper
Parameteruppsättningar
Trigger
Position: Named
Obligatorisk: True
Värde från pipeline: True
Värde från pipeline efter egenskapsnamn: False
Värde från återstående argument: False
-ResourceGroupName
Namnet på resursgruppen där säkerhetskopieringsvalvet finns
Parameteregenskaper
Typ: String
Standardvärde: None
Stöder jokertecken: False
DontShow: False
Parameteruppsättningar
(All)
Position: Named
Obligatorisk: True
Värde från pipeline: False
Värde från pipeline efter egenskapsnamn: False
Värde från återstående argument: False
-ResourceGuardOperationRequest
Resursskyddsåtgärdsbegäran i formatet som liknar <resourceguard-ARMID>/dppTriggerRestoreRequests/default.
Använd den här parametern när åtgärden är MUA-skyddad.
Parameteregenskaper
Typ: String [ ]
Standardvärde: None
Stöder jokertecken: False
DontShow: False
Parameteruppsättningar
(All)
Position: Named
Obligatorisk: False
Värde från pipeline: False
Värde från pipeline efter egenskapsnamn: False
Värde från återstående argument: False
-RestoreTargetInfo
Hämtar eller anger information om återställningsmål För att skapa, se AVSNITTET ANTECKNINGAR för RESTORETARGETINFO-egenskaper och skapa en hash-tabell.
Parameteregenskaper
Parameteruppsättningar
TriggerExpanded
Position: Named
Obligatorisk: True
Värde från pipeline: False
Värde från pipeline efter egenskapsnamn: False
Värde från återstående argument: False
-RestoreToSecondaryRegion
Växla parameter för att utlösa återställning till sekundär region (återställning mellan regioner)
Parameteregenskaper
Typ: SwitchParameter
Standardvärde: None
Stöder jokertecken: False
DontShow: False
Parameteruppsättningar
(All)
Position: Named
Obligatorisk: False
Värde från pipeline: False
Värde från pipeline efter egenskapsnamn: False
Värde från återstående argument: False
-SecureToken
Parameter för att auktorisera åtgärder som skyddas av resursskydd mellan klientorganisationer.
Använd kommandot (Get-AzAccessToken -TenantId "xxxxxxxx-xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxx -AsSecureString"). Token för att hämta auktoriseringstoken för en annan klientorganisation.
Parameteregenskaper
Typ: SecureString
Standardvärde: None
Stöder jokertecken: False
DontShow: False
Parameteruppsättningar
(All)
Position: Named
Obligatorisk: False
Värde från pipeline: False
Värde från pipeline efter egenskapsnamn: False
Värde från återstående argument: False
-SourceDataStoreType
Typ av källdatalager
Parameteregenskaper
Parameteruppsättningar
TriggerExpanded
Position: Named
Obligatorisk: True
Värde från pipeline: False
Värde från pipeline efter egenskapsnamn: False
Värde från återstående argument: False
-SourceResourceId
Fullständigt kvalificerat Azure Resource Manager-ID för den datakälla som återställs
Parameteregenskaper
Typ: String
Standardvärde: None
Stöder jokertecken: False
DontShow: False
Parameteruppsättningar
TriggerExpanded
Position: Named
Obligatorisk: False
Värde från pipeline: False
Värde från pipeline efter egenskapsnamn: False
Värde från återstående argument: False
-SubscriptionId
Prenumerations-ID för säkerhetskopieringsvalvet
Parameteregenskaper
Typ: String
Standardvärde: None
Stöder jokertecken: False
DontShow: False
Parameteruppsättningar
(All)
Position: Named
Obligatorisk: False
Värde från pipeline: False
Värde från pipeline efter egenskapsnamn: False
Värde från återstående argument: False
-Token
Parametern är inaktuell.
Använd SecureToken i stället.
Parameteregenskaper
Typ: String
Standardvärde: None
Stöder jokertecken: False
DontShow: False
Parameteruppsättningar
(All)
Position: Named
Obligatorisk: False
Värde från pipeline: False
Värde från pipeline efter egenskapsnamn: False
Värde från återstående argument: False
-VaultName
Namnet på säkerhetskopieringsvalvet
Parameteregenskaper
Typ: String
Standardvärde: None
Stöder jokertecken: False
DontShow: False
Parameteruppsättningar
(All)
Position: Named
Obligatorisk: True
Värde från pipeline: False
Värde från pipeline efter egenskapsnamn: False
Värde från återstående argument: False
-WhatIf
Visar vad som skulle hända om kommandot körs.
Cmdleten körs inte.
Parameteregenskaper
Typ: SwitchParameter
Standardvärde: None
Stöder jokertecken: False
DontShow: False
Alias: Wi
Parameteruppsättningar
(All)
Position: Named
Obligatorisk: False
Värde från pipeline: False
Värde från pipeline efter egenskapsnamn: False
Värde från återstående argument: False
CommonParameters
Den här cmdleten stöder vanliga parametrar: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction och -WarningVariable. Mer information finns i about_CommonParameters .
Utdata