Az104实验10:无法删除启用软删除的恢复服务保管库备份项
解决启用软删除的恢复服务保管库备份项删除问题
问题根源梳理
软删除启用后,备份项被删除会进入软删除状态保留14天,常规删除操作会被拦截;你执行的Undo-AzRecoveryServicesBackupItemDeletion是恢复软删除项,而非删除,所以执行后项仍存在;Disable-AzRecoveryServicesBackupProtection对软删除状态的项不生效,必须先处理软删除状态。另外,Set-AzRecoveryServicesVaultProperty报错是因为Az.RecoveryServices模块版本过低,旧版本没有-SoftDeleteFeatureState参数。
可行解决方案
方案1:用最新PowerShell模块永久删除软删除项
这是最直接的方式,无需禁用软删除:
- 更新Az.RecoveryServices模块(必须,否则没有永久删除的命令):
Install-Module -Name Az.RecoveryServices -Force -AllowClobber - 定位软删除的备份项:
# 连接到目标保管库 $vault = Get-AzRecoveryServicesVault -Name "你的保管库名称" Set-AzRecoveryServicesVaultContext -Vault $vault # 获取Azure VM备份项(针对MARS代理则替换BackupManagementType为MARS) $bkpItems = Get-AzRecoveryServicesBackupItem -BackupManagementType AzureVM -WorkloadType AzureVM # 查看项的软删除状态 $bkpItems | Select-Object Name, IsSoftDeleted, ProtectionState - 永久删除软删除项:
# 筛选出软删除的项 $softDeletedItems = $bkpItems | Where-Object { $_.IsSoftDeleted -eq $true } # 批量永久删除 foreach ($item in $softDeletedItems) { Remove-AzRecoveryServicesBackupItem -Item $item -Force }
方案2:通过Azure门户操作
适合GUI操作偏好的用户:
- 进入目标恢复服务保管库,左侧菜单选择备份项,筛选对应的备份类型(Azure VM/文件文件夹-备份代理)。
- 找到状态为软删除的项,右键点击选择永久删除。
- 在确认窗口勾选“我确认要永久删除此备份项及其所有恢复点”,输入项名称后点击删除。
方案3:临时禁用软删除(批量处理场景)
仅推荐需要批量删除大量项的场景,操作完成后务必重新启用软删除:
- 确保已更新到最新Az.RecoveryServices模块,执行:
Set-AzRecoveryServicesVaultProperty -VaultId $myVaultID -SoftDeleteFeatureState Disable - 禁用软删除后,执行常规删除命令:
Disable-AzRecoveryServicesBackupProtection -Item $myBkpItem -RemoveRecoveryPoints -VaultId $myVaultID -Force - 删除完成后,立即重新启用软删除保护:
Set-AzRecoveryServicesVaultProperty -VaultId $myVaultID -SoftDeleteFeatureState Enable
针对Azure Backup Agent(MARS)备份项的注意事项
获取MARS代理的备份项时,需调整命令参数:
$bkpItems = Get-AzRecoveryServicesBackupItem -BackupManagementType MARS -WorkloadType FileFolder
后续永久删除或门户操作步骤和VM项一致。
内容的提问来源于stack exchange,提问作者Aditya
相关产品推荐
相关产品推荐

