如何通过PowerShell获取Azure Site Recovery恢复计划中的所有VM列表
获取Azure Site Recovery恢复计划中的VM列表
你已经通过以下代码获取了目标恢复计划:
$RecoveryPlan = Get-AzRecoveryServicesAsrRecoveryPlan | where {$_.name -eq "MyRecPlan"}
要提取该恢复计划中的所有VM,可利用恢复计划的Groups属性遍历其中的受复制保护项,筛选出虚拟机类型的条目:
# 遍历恢复计划的所有组,提取其中的VM项 $recoveryPlanVMs = $RecoveryPlan.Groups | ForEach-Object { $_.ReplicationProtectedItems | Where-Object { # 根据你的复制场景调整类型值: # Azure VM到Azure: Microsoft.Azure.RecoveryServices.Replication.AzureVirtualMachine # VMware到Azure: Microsoft.Azure.RecoveryServices.Replication.VmwareVirtualMachine $_.ProtectedItemType -eq "Microsoft.Azure.RecoveryServices.Replication.AzureVirtualMachine" } } # 输出VM的友好名称、资源名称及保护状态 $recoveryPlanVMs | Select-Object FriendlyName, Name, ProtectionState
说明
- 恢复计划由多个执行组(Groups)组成,每个组包含一组受复制保护的对象
- 通过
ProtectedItemType筛选可精准定位虚拟机,不同复制场景对应不同类型值,需根据实际环境调整 - 可通过扩展
Select-Object的属性参数,获取VM的关联恢复服务提供商、故障转移状态等更多信息
内容的提问来源于stack exchange,提问作者Roger McCarrick
相关产品推荐
相关产品推荐

