有没有办法使用 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
我的虚拟机名称是jasonvm
和jasonvm2
。
=============================================
更新:
如果我们有许多虚拟机,我们可以用来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