You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure经典存储账户诊断禁用与迁移步骤确认及脚本需求

关于Azure经典存储分析迁移的问题解答

一、识别仍使用Azure经典存储分析的存储账户

  • 通过Azure门户:筛选出**Diagnostic settings (classic)**处于开启状态的存储账户
  • 通过PowerShell/CLI查询:使用Get-AzStorageServiceLoggingProperty命令查看各存储服务的经典日志状态,若返回的LoggingOperations值不为None,则说明该存储账户仍在使用经典存储分析

二、迁移步骤验证

你梳理的Azure门户迁移步骤是正确的,补充关键细节如下:

  1. 定位目标账户:找出所有开启了**Diagnostic settings (classic)**的存储账户
  2. 确认新诊断配置有效性:在存储账户的「诊断设置」面板中,确保Blob、File、Table、Queue等所有需要监控的资源类型已配置诊断规则,且诊断数据已成功发送至Log Analytics工作区(需按需勾选日志类别、指标类别)
  3. 关闭经典诊断:将**Diagnostic settings (classic)**切换为关闭状态,完成迁移

三、PowerShell脚本验证与优化

你编写的脚本核心逻辑正确,但存在2处需优化的问题:

  1. 变量$subscription未定义,导致脚本执行时会报错
  2. 未覆盖File服务的经典日志设置,经典存储分析包含Blob、Table、Queue、File四类服务

优化后的完整脚本如下:

# 获取当前订阅信息
$subscription = Get-AzContext | Select-Object -ExpandProperty Subscription

# 获取所有存储账户
$storageAccounts = Get-AzStorageAccount
    
foreach ($storageAccount in $storageAccounts) {
    try {
        Write-Output "正在禁用存储账户: $($storageAccount.StorageAccountName)(订阅: $($subscription.Name))的经典诊断设置"
        
        # 获取存储账户上下文
        $storageAccountContext = $storageAccount.Context

        # 禁用所有服务的经典日志:Blob、Table、Queue、File
        Set-AzStorageServiceLoggingProperty -ServiceType Blob, Table, Queue, File -Context $storageAccountContext -LoggingOperations None -RetentionDays 0

        Write-Output "存储账户: $($storageAccount.StorageAccountName)的经典诊断设置已成功禁用"
    } catch {
        Write-Output "禁用存储账户: $($storageAccount.StorageAccountName)的经典诊断设置失败,错误信息: $_"
    }
}

脚本优化说明

  • 新增订阅信息获取逻辑,解决原脚本$subscription.Name未定义的问题
  • 新增File服务类型,确保所有经典存储分析服务都被禁用
  • 添加成功执行提示,便于跟踪脚本执行状态

内容的提问来源于stack exchange,提问作者learner

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 07:17:44