You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Azure虚拟机实例视图REST API批量校验Windows VM备份配置的问询

可行方案如下

方案1:使用Azure Resource Graph批量查询(最优方案)

该方案完全不需要提前获取任何恢复服务保管库信息,支持跨订阅、跨资源组批量查询所有虚拟机的备份配置状态,完美适配批量校验场景,查询逻辑对Windows和Linux虚拟机统一生效。
仅需你的操作账号具备对应订阅的Microsoft.ResourceGraph/resources/read权限、以及虚拟机和恢复服务保管库的读取权限(常规只读角色即可满足),执行以下KQL查询语句即可获取结果:

Resources
| where type == 'microsoft.compute/virtualmachines'
// 关联备份受保护项数据
| join kind=leftouter (
    RecoveryServicesResources
    | where type == 'Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems'
    | where properties.backupManagementType == 'AzureIaasVM'
    | extend protectedVmId = tolower(properties.sourceResourceId)
    | extend isBackupEnabled = true
) on $left.id == $right.protectedVmId
// 补全未配置备份的虚拟机状态
| extend isBackupEnabled = coalesce(isBackupEnabled, false)
// 可根据需求调整输出字段
| project vmName = name, resourceGroup, subscriptionId, vmId = id, isBackupEnabled

查询结果中isBackupEnabled字段为true即代表对应虚拟机已配置Azure VM备份。

方案2:枚举订阅保管库匹配校验

如果无法使用Azure Resource Graph,可通过以下步骤实现校验:

  • 调用资源列表API枚举所有目标虚拟机所属订阅下的全部恢复服务保管库
  • 遍历每个保管库,调用受保护项列表接口拉取该保管库下所有已备份的Azure虚拟机资源ID
  • 将拉取到的已备份虚拟机ID列表,和你需要校验的虚拟机ID列表做比对,匹配成功即为已配置备份

补充说明:Windows虚拟机实例视图无备份扩展的原因

Windows版本的Azure备份快照扩展Microsoft.Azure.RecoveryServices.VMSnapshot为按需触发的临时扩展,仅在备份作业实际运行时才会临时注入到虚拟机中,作业完成后不会常驻在扩展列表中,因此无法通过虚拟机实例视图API查询到对应标识。而Linux版本的快照扩展为常驻扩展,所以可以通过实例视图查询到。

内容的提问来源于stack exchange,提问作者delucaezequiel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 12:24:03