无法从存储帐户中删除诊断设置

Can't remove diagnostic settings from storage account

我正在创建用于删除所有诊断设置的脚本。但我对存储帐户有疑问。因为脚本只删除顶层的诊断设置。但是对于 Blob、队列、文件和表,诊断设置仍然存在...

$storage = Get-AzResource -Name "storageaccountpointa110"'
$id = $storage.ResourceId
Remove-AzDiagnosticSetting -ResourceId $id

这是输出: Diagnostic Settings from tenant

我已经在我的环境中测试过

Remove-AzDiagnosticSetting 只取资源 ID

由于 blob、队列、文件和 table 的资源 ID 与存储帐户资源 ID 不同,您的脚本仅删除存储帐户的诊断设置。

要删除存储帐户的诊断设置以及 blob、队列、文件和 table,您可以使用以下脚本:

$account = Get-AzResource -Name "StorageAccountName"
$accountResID = $account.ID
$blobResID = $account.ID + "/blobServices/default"
$fileResID = $account.ID + "/fileServices/default"
$queueResID = $account.ID + "/queueServices/default"
$tableResID = $account.ID + "/tableServices/default"
Remove-AzDiagnosticSetting -ResourceId $accountResID
Remove-AzDiagnosticSetting -ResourceId $blobResID
Remove-AzDiagnosticSetting -ResourceId $fileResID
Remove-AzDiagnosticSetting -ResourceId $queueResID
Remove-AzDiagnosticSetting -ResourceId $tableResID