首页 > 解决方案 > 是否可以使用 Azure Powershell 在订阅级别/范围内创建和启用诊断设置?

问题描述

我需要在订阅级别而不是资源级别创建和启用诊断设置。

Azure CLI 具有az monitor diagnostic-settings subscription create允许我通过将订阅 ID 作为参数传递来实现此目的的命令。

但我找不到 Azure Powershell 等价物。Set-AzDiagnosticSetting不允许传递订阅 ID 。相反,它只接受完整的资源 ID。

当我尝试使用以下命令时,出现错误Set-AzDiagnosticSetting: Exception type: ErrorResponseException, Message: Null/Empty, Code: Null, Status code:NotFound, Reason phrase: Not Found

$subsId = Get-AzContext | Select-Object Subscription
New-AzOperationalInsightsWorkspace -Name $workspaceName -ResourceGroupName $rgName -Location $region -Sku "Standard"
$workspaceId = Get-AzOperationalInsightsWorkspace -Name $workspaceName -ResourceGroupName $rgName | Select-Object ResourceId
$log = New-AzDiagnosticDetailSetting -Log -RetentionInDays 90 -Category Administrative -RetentionEnabled -Enabled
$setting = New-AzDiagnosticSetting -Name $dsName -WorkspaceId $workspaceId -TargetResourceId $subsId.Subscription.Id -Setting $log
Set-AzDiagnosticSetting -InputObject $setting

有没有人已经遇到过这个问题?我很感激任何帮助。

标签: azureazure-monitoring

解决方案


推荐阅读