我正在构建Azure Runbook(PowerShell),它检查vm是否启用了备份(如果未启用),它将启用它。我在添加和构建IF语句以使其变得更好时遇到问题。
这是我现在执行的方法,它可以工作,但是如果vm已启用备份,则runbook将打印很多红色,那不是很好。这是更大的Runbook的一部分,所有这些都在foreach中运行。
$vault= Get-AzureRmRecoveryServicesVault -ResourceGroupName "RGName" -Name "VaultName"
Set-AzureRmRecoveryServicesVaultContext -Vault $vault
Write-Output "Configuring Azure backup to $($vm.Name)"
$policy = Get-AzureRmRecoveryServicesBackupProtectionPolicy -Name "PolicyName"
Enable-AzureRmRecoveryServicesBackupProtection `
-ResourceGroupName $vm.ResourceGroupName `
-Name $vm.Name `
-Policy $policy
然后,我想在其中添加IF语句,因此,如果已在vm上启用了备份,则只会跳过它。下面的命令将打印备份的结果(是或否),但是我不知道如何在if语句中实现它,因此如果结果为false,它将运行脚本块,如果结果为true,则只会跳过并打印$ vm。名称已配置为Azure备份。
Get-AzRecoveryServicesBackupStatus-名称'VmName'-ResourceGroupName'RgName'-类型AzureVM
if ()
{
$vault= Get-AzureRmRecoveryServicesVault -ResourceGroupName "RgName" -Name "VaultName"
Set-AzureRmRecoveryServicesVaultContext -Vault $vault
Write-Output "Configuring Azure backup to $($vm.Name)"
$policy = Get-AzureRmRecoveryServicesBackupProtectionPolicy -Name "PolicyName"
Enable-AzureRmRecoveryServicesBackupProtection `
-ResourceGroupName $vm.ResourceGroupName `
-Name $vm.Name `
-Policy $policy
}
else {
Write-Output "$vm.Name has already configured to Azure backup"
}
那么有什么技巧怎么做?我可以这样做吗: 如果(Get-AzRecoveryServicesBackupStatus-名称'vmanme'-ResourceGroupName'rgname'-类型AzureVM备份-match false)?