用于获取 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- 家庭安全中心和设置并筛选和提取所有规则
我已经创建了警报规则并将其与 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- 家庭安全中心和设置并筛选和提取所有规则