(Azure) Как изменить срок хранения каждой политики в хранилище Recoveryservices
Нужна помощь по изменению срока хранения каждой политики резервного копирования в хранилище служб восстановления. У нас есть несколько хранилищ и много политик в каждом хранилище. Поэтому он хотел написать сценарий процесса.
Ниже приведен скрипт, который я использовал для получения всех политик во всех хранилищах. Но не могу изменить срок хранения каждой политики
$recoveryServicesVaults=Get-AzureRmRecoveryServicesVault
foreach($recoveryServicesVault in $recoveryServicesVaults)
{
Set-AzureRmRecoveryServicesVaultContext -Vault $recoveryServicesVault
$backupPolicies=Get-AzureRmRecoveryServicesBackupProtectionPolicy -
WarningAction Ignore
$backupPolicyArray=@()
foreach($backupPolicy in $backupPolicies)
{
$Info = New-Object PSObject -Property @{
PolicyName=$backupPolicy.Name
WorkloadType=$backupPolicy.WorkloadType
DailyRetentionPolicyDuration=$backupPolicy.RetentionPolicy.dailyschedule.DurationCountInDays
}
$backupPolicyArray += $Info
}
$backupPolicyArray
}
1 ответ
Сначала необходимо создать политику хранения, а затем обновить политику резервного копирования новой политикой хранения. Используйте командлет Set-AzureRmRecoveryServicesBackupProtectionPolicy для обновления политики. Ниже приведен пример обновления политики. Вы можете указать, хотите ли вы включить или отключить ежедневное, еженедельное, ежемесячное или годовое расписание, а также указать продолжительность расписания для каждого типа. Это зависит от ваших требований.
$ recoveryServicesVaults = Get-AzureRmRecoveryServicesVault
foreach ($ recoveryServicesVault в $ recoveryServicesVaults)
{
Set-AzureRmRecoveryServicesVaultContext -Vault $recoveryServicesVault
$backupPolicies=Get-AzureRmRecoveryServicesBackupProtectionPolicy -WarningAction Ignore
foreach($backupPolicy in $backupPolicies)
{
$schPol = Get-AzureRmRecoveryServicesBackupSchedulePolicyObject -WorkloadType "AzureVM"
$retPol = Get-AzureRmRecoveryServicesBackupRetentionPolicyObject -WorkloadType "AzureVM"
$retPol.IsWeeklyScheduleEnabled = $true
$retPol.IsMonthlyScheduleEnabled = $true
$retPol.IsYearlyScheduleEnabled = $true
$retPol.DailySchedule.DurationCountInDays = 90
$retpol.WeeklySchedule.DurationCountInWeeks = 10
$retpol.MonthlySchedule.DurationCountInMonths = 4
$retpol.YearlySchedule.DurationCountInYears = 1
Set-AzureRmRecoveryServicesBackupProtectionPolicy -Policy $backupPolicy -SchedulePolicy $SchPol -RetentionPolicy $RetPol
}
}