获取 Azure 恢复保管库中的 VMS 列表

获取 Azure 恢复保管库中的 VMS 列表

有没有办法使用 powershell 列出恢复库中列出的所有 VMS?

我在网上搜索了一下,只看到了管理虚拟机的命令,但没有列出它们。我试图列出所有受保护的 VMS 和上次备份日期。如果可能的话。

提前致谢 :)

答案1

我正在尝试列出所有受保护的 VMS 和上次备份日期

我们可以使用 PowerShell 列出虚拟机在恢复服务保管库和最新恢复点, 像这样:

Get-AzureRmRecoveryServicesVault -Name "jasonbackup" -ResourceGroupName "backup" | Set-AzureRmRecoveryServicesVaultContext

$nameContainer = Get-AzureRmRecoveryServicesBackupContainer -ContainerType "AzureVM" -Status "Registered" -FriendlyName "jasonvm"

Get-AzureRmRecoveryServicesBackupItem -Container $nameContainer -WorkloadType "AzureVM" | select ContainerName,LatestRecoveryPoint

在此处输入图片描述

我的虚拟机名称是jasonvmjasonvm2

=============================================
更新

如果我们有许多虚拟机,我们可以用来Foreach列出 Azure 虚拟机,Name并且LatestRecoveryPoint我们可以使用这个脚本:

Get-AzureRmRecoveryServicesVault -Name "jasonbackup" -ResourceGroupName "backup" | Set-AzureRmRecoveryServicesVaultContext

$fnames = Get-AzureRmRecoveryServicesBackupContainer -ContainerType "AzureVM" -Status "Registered" | select  -ExpandProperty friendlyname

 foreach ($name in $fnames)
 {
 $nameContainer = Get-AzureRmRecoveryServicesBackupContainer -ContainerType "AzureVM" -Status "Registered" -FriendlyName $name
 Get-AzureRmRecoveryServicesBackupItem -Container $nameContainer -WorkloadType "AzureVM" | select ContainerName,LatestRecoveryPoint
 }

在此处输入图片描述 在此处输入图片描述

答案2

我在使用该命令(带有 AZ 模块的 Powershell 6.0)时遇到了问题Set-AzureRmRecoveryServicesVaultContext。似乎将不推荐按照此处的建议设置上下文: 知识库管理系统

只需将-vaultID值添加到 Jason 的命令中,例如:

$vaultID = Get-AzRecoveryServicesVault -ResourceGroupName "backup" -Name "jasonbackup" | select -ExpandProperty ID
fnames = Get-AzRecoveryServicesBackupContainer -ContainerType "AzureVM" -Status "Registered" -VaultId $vaultID | select  -ExpandProperty friendlyname

相关内容