如何使用 PowerCLI 按集群配置 vCenter 警报

How can I configure vCenter Alarm by Cluster with PowerCLI

我有一个配置 vcenter 警报的代码,但是,我想在每个集群级别创建一个警报。

请指教我可以去的方向

这是代码,但它不起作用

$MinutesToRepeat = "10"
$alarms = @("Testing")

$cluster = Get-Cluster "Prod Cluster"
foreach ($alarm in $alarms) {
    Set-AlarmDefinition -Name $alarm | %{
        $_ | Set-AlarmDefinition -ActionRepeatMinutes $MinutesToRepeat;  
        $_ | Get-AlarmAction -ActionType "SendEmail" | Remove-AlarmAction -Confirm:$false 
        $_ | New-AlarmAction -Email -To $AdminEmail | %{
            $_ | New-AlarmActionTrigger -StartStatus "Green" -EndStatus "Yellow" 
            $_ | New-AlarmActionTrigger -StartStatus "Yellow" -EndStatus "Red" -Repeat
            $_ | New-AlarmActionTrigger -StartStatus 'Red' -EndStatus 'Yellow'
            $_ | New-AlarmActionTrigger -StartStatus 'Yellow' -EndStatus "Green"
        }
    }
}

尝试更改为以下代码,基本上在创建触发器时默认将黄色设置为红色 "Once" 这需要在重新添加之前删除。

foreach ($alarm in $alarms) {
    Set-AlarmDefinition -Name $alarm -AlarmDefinition $alarm -ActionRepeatMinutes $MinutesToRepeat | %{
        $_ | Get-AlarmAction -ActionType "SendEmail" | Remove-AlarmAction -Confirm:$false 
        $_ | New-AlarmAction -Email -To $AdminEmail | %{
            $_ | New-AlarmActionTrigger -StartStatus Green -EndStatus Yellow 
            $_ | New-AlarmActionTrigger -StartStatus Red -EndStatus Yellow
            $_ | New-AlarmActionTrigger -StartStatus Yellow -EndStatus Green
        }

    }
    $AlarmAction = Get-Alarmdefinition -Name $alarm | Get-AlarmAction -ActionType 'SendEmail'
    $AlarmAction.Trigger | Where {($_.StartStatus -eq 'Yellow') -And ($_.EndStatus -eq 'Red')} | Remove-AlarmActionTrigger -Confirm:$False
    $AlarmAction | New-AlarmActionTrigger -StartStatus Yellow -EndStatus Red -Repeat
}