(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
  }

}

Другие вопросы по тегам