用于获取 Azure 监视器警报规则的 Powershell 命令不起作用

Powershell command to fetch Azure monitor alert rules is not working

我已经创建了警报规则并将其与 VM 相关联。现在尝试通过 Powershell 获取警报规则,但结果为空。这段代码有什么问题?

Get-AzAlertRule -ResourceGroupName 'pacbldnew'

see the alert rule powershell code returning null

这只是一个警告。该命令应该有效,请确保警报规则存在。

更新 1:

尝试下面的命令来获得你想要的。

Get-AzResource -ResourceGroupName joywebapp -ResourceType microsoft.insights/metricAlerts 

更新2:

如果您想获取详细信息,请尝试以下脚本。

$names = (Get-AzResource -ResourceGroupName joywebapp -ResourceType microsoft.insights/metricAlerts).Name
foreach($name in $names){
    Get-AzResource -ResourceGroupName joywebapp -Name $name -ResourceType microsoft.insights/metricAlerts | ConvertTo-Json
}

令人高兴的是 cmdlet 仍应执行,因为您看到的只是一个警告。但是,这可能会发生,因为正如官方 docs.

中所述,Powershell 对更新的指标警报的支持仍在进行中

此外,作为替代方案,如果有帮助,您可以使用 Azure CLI list newer Metric Alerts,因为它现在支持获取属于 Microsoft 的详细查询结果。Insights/metricAlerts资源类型。

例如:

az monitor metrics alert list -g <Resource group name> --output yaml

结果看起来像这样:

您还可以从 Az CLI 提供的众多 output formats(json、jsonc、yaml、table、tsv)中进行选择。

希望对您有所帮助!

转到 Azure- 家庭安全中心和设置并筛选和提取所有规则