Get-AzRecoveryServicesBackupRecoveryPoint

取得備份項目的恢復點。

Syntax

Get-AzRecoveryServicesBackupRecoveryPoint
   [-Item] <ItemBase>
   [-UseSecondaryRegion]
   [-Tier <RecoveryPointTier>]
   [-IsReadyForMove <Boolean>]
   [-TargetTier <RecoveryPointTier>]
   [-VaultId <String>]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
Get-AzRecoveryServicesBackupRecoveryPoint
   [[-StartDate] <DateTime>]
   [[-EndDate] <DateTime>]
   [-Item] <ItemBase>
   [-UseSecondaryRegion]
   [-Tier <RecoveryPointTier>]
   [-IsReadyForMove <Boolean>]
   [-TargetTier <RecoveryPointTier>]
   [-VaultId <String>]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
Get-AzRecoveryServicesBackupRecoveryPoint
   [-Item] <ItemBase>
   [-RecoveryPointId] <String>
   [[-KeyFileDownloadLocation] <String>]
   [-UseSecondaryRegion]
   [-VaultId <String>]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]

Description

Get-AzRecoveryServicesBackupRecoveryPoint Cmdlet 會取得備份 Azure 備份 項目的恢復點。 備份項目之後, AzureRmRecoveryServicesBackupRecoveryPoint 物件有一或多個恢復點。 使用 -VaultId 參數設定保存庫內容。

範例

範例 1:從上周取得專案的恢復點

$vault = Get-AzRecoveryServicesVault -ResourceGroupName "resourceGroup" -Name "vaultName"
$startDate = (Get-Date).AddDays(-7)
$endDate = Get-Date
$container = Get-AzRecoveryServicesBackupContainer -ContainerType AzureVM -FriendlyName "V2VM" -VaultId $vault.ID
$backupItem = Get-AzRecoveryServicesBackupItem -Container $container -WorkloadType AzureVM -VaultId $vault.ID
$rp = Get-AzRecoveryServicesBackupRecoveryPoint -Item $backupItem -StartDate $startdate.ToUniversalTime() -EndDate $enddate.ToUniversalTime() -VaultId $vault.ID

第一個命令會根據 vaultName 取得保存庫物件。 第二個命令會從七天前取得日期,然後將它儲存在$startDate變數中。 第三個命令會取得今天的日期,然後將它儲存在$endDate變數中。 第四個命令會取得 AzureVM 備份容器,並將其儲存在 $Container 變數中。 第五個命令會根據 workloadType、vaultId 取得備份專案,然後將它儲存在$backupItem變數中。 最後一個命令會取得$BackupItem中專案的恢復點陣列,然後將這些專案儲存在$rp變數中。

範例 2:取得準備好移至 VaultArchive 的恢復點

$vault = Get-AzRecoveryServicesVault -ResourceGroupName "resourceGroup" -Name "vaultName"
$startDate = (Get-Date).AddDays(-7).ToUniversalTime()
$endDate = (Get-Date).ToUniversalTime()
$item = Get-AzRecoveryServicesBackupItem -BackupManagementType "AzureVM" -WorkloadType "AzureVM" -VaultId $vault.ID
$rp = Get-AzRecoveryServicesBackupRecoveryPoint -StartDate $startDate -EndDate $endDate -VaultId $vault.ID -Item $item[3] `
-IsReadyForMove $true -TargetTier VaultArchive

第一個命令會根據 vaultName 取得保存庫物件。 第二個命令會從七天前取得日期,然後將它儲存在$startDate變數中。 第三個命令會取得今天的日期,然後將它儲存在$endDate變數中。 第四個命令會根據backupManagementType和 workloadType、vaultId 取得備份專案,然後將它儲存在$item變數中。 最後一個命令會取得$backupItem中專案的恢復點陣列,這些專案已準備好移至 VaultArchive 層,然後將這些專案儲存在$rp變數中。

範例 3:取得特定層中的恢復點

$vault = Get-AzRecoveryServicesVault -ResourceGroupName "resourceGroup" -Name "vaultName"
$startDate = (Get-Date).AddDays(-7).ToUniversalTime()
$endDate = (Get-Date).ToUniversalTime()
$item = Get-AzRecoveryServicesBackupItem -BackupManagementType "AzureVM" -WorkloadType "AzureVM" -VaultId $vault.ID
$rp = Get-AzRecoveryServicesBackupRecoveryPoint -StartDate $startDate -EndDate $endDate -VaultId $vault.ID -Item $item[3] `
-Tier VaultStandard

第一個命令會根據 vaultName 取得保存庫物件。 第二個命令會從七天前取得日期,然後將它儲存在$startDate變數中。 第三個命令會取得今天的日期,然後將它儲存在$endDate變數中。 第四個命令會根據backupManagementType和 workloadType、vaultId 取得備份專案,然後將它儲存在$item變數中。 最後一個命令會取得$backupItem中專案的恢復點陣列,這些專案已準備好移至 VaultArchive 層,然後將這些專案儲存在$rp變數中。

範例 4:在修改原則作業之後,於去年取得剪除的恢復點

$vault = Get-AzRecoveryServicesVault -ResourceGroupName "resourceGroup" -Name "vaultName"
$startDate = (Get-Date).AddDays(-365).ToUniversalTime()
$endDate = (Get-Date).ToUniversalTime()
$item = Get-AzRecoveryServicesBackupItem -BackupManagementType "AzureVM" -WorkloadType "AzureVM" -VaultId $vault.ID
$rpsBefore = Get-AzRecoveryServicesBackupRecoveryPoint -Item $item[0] -StartDate $startDate -EndDate $endDate -VaultId $vault.ID

# update policy
$pol = Get-AzRecoveryServicesBackupProtectionPolicy -VaultId $vault.ID -Name "policyName"
$pol.RetentionPolicy.IsWeeklyScheduleEnabled = $false
$pol.RetentionPolicy.IsMonthlyScheduleEnabled = $false
$pol.RetentionPolicy.IsYearlyScheduleEnabled = $false
Set-AzRecoveryServicesBackupProtectionPolicy -Policy $pol -VaultId $vault.ID -RetentionPolicy $pol.RetentionPolicy -Debug 

# wait until policy changes are applied to recovery points and they are pruned
$rpsAfter = Get-AzRecoveryServicesBackupRecoveryPoint -Item $item[0] -StartDate $startDate -EndDate $endDate -VaultId $vault.ID

# compare the recovery points list before and after
$diff = Compare-Object $rpsBefore $rpsAfter
$rpsRemoved = $diff | Where-Object{ $_.SideIndicator -eq'<='} | Select-Object -ExpandProperty InputObject
$rpsRemoved

RecoveryPointId    RecoveryPointType  RecoveryPointTime      ContainerName                        ContainerType
---------------    -----------------  -----------------      -------------                        -------------
7397781054902      CrashConsistent    5/2/2023 3:28:35 AM    iaasvmcontainerv2;test-rg;test-vm  AzureVM
9722704411921      CrashConsistent    4/1/2023 3:32:26 AM    iaasvmcontainerv2;test-rg;test-vm  AzureVM
6543100104464      CrashConsistent    3/1/2023 3:26:27 AM    iaasvmcontainerv2;test-rg;test-vm  AzureVM

第一個命令會根據 vaultName 取得保存庫物件。 第二個命令會從一年前取得日期,然後將它儲存在$startDate變數中。 第三個命令會取得今天的日期,然後將它儲存在$endDate變數中。 第四個命令會根據backupManagementType和 workloadType、vaultId 取得備份專案,然後將它儲存在$item變數中。 第五個命令會取得$item中項目的恢復點陣列,這些恢復點存在於去年的修改原則作業之前。 現在,我們繼續更新原則。 第六個命令會擷取要更新的原則,用來保護備份專案$item[0]。 第七、八和第九個命令會停用原則中的每年和每月保留期,以修剪較舊的恢復點。 第十個命令最後會更新保留原則。 第十一個命令會在相同的powershell工作階段中等候,直到在套用原則變更之後,將恢復點剪除並擷取相同時間範圍內的恢復點。 twelth 命令會在剪除前後取得恢復點清單之間的差異。 第十三個命令會從差異讀取恢復點,這些恢復點目前存在,現在已剪除。 最後一個命令會顯示已剪除恢復點的清單。

參數

-DefaultProfile

用於與 azure 通訊的認證、帳戶、租用戶和訂用帳戶。

Type:IAzureContextContainer
Aliases:AzContext, AzureRmContext, AzureCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-EndDate

指定日期範圍的結尾。

Type:Nullable<T>[DateTime]
Position:1
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-IsReadyForMove

根據 RP 是否準備好移至目標層,篩選恢復點。 請與目標層參數一起使用。

Type:Boolean
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Item

指定此 Cmdlet 取得恢復點的專案。 若要取得 AzureRmRecoveryServicesBackupItem 物件,請使用 Get-AzRecoveryServicesBackupItem Cmdlet。

Type:ItemBase
Position:2
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-KeyFileDownloadLocation

指定要下載輸入檔的位置,以還原加密虛擬機的 KeyVault 金鑰。

Type:String
Position:2
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-RecoveryPointId

指定恢復點標識碼。

Type:String
Position:1
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-StartDate

指定日期範圍的開始時間。

Type:Nullable<T>[DateTime]
Position:0
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-TargetTier

用來檢查恢復點移動整備程度的目標層。 目前只有有效的值為 『VaultArchive』。

Type:RecoveryPointTier
Accepted values:VaultArchive
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Tier

根據階層值篩選恢復點。

Type:RecoveryPointTier
Accepted values:VaultStandard, Snapshot, VaultArchive, VaultStandardRehydrated, SnapshotAndVaultStandard, SnapshotAndVaultArchive
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-UseSecondaryRegion

跨區域還原的次要區域篩選

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-VaultId

復原服務保存庫的 ARM 識別碼。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

輸入

ItemBase

String

輸出

RecoveryPointBase