无法查询Azure VM关联的存储账户详情及配置
排查方向与实操指引
- 你之前参考的PowerShell脚本输出全空的原因:这类早期脚本仅适配Azure经典部署模型的VM查询逻辑,对当前主流的ARM架构VM、尤其是新架构下的启动诊断配置,无法读取对应字段,自然会出现所有存储账户相关内容输出空白的情况。
- 找配置时别进错入口:VM详情页的「存储」边栏选项卡,仅展示VM的OS磁盘、数据磁盘对应的托管磁盘映射关系,完全不承载启动诊断关联存储账户的配置信息,找错位置是大部分人找不到对应配置的核心原因。
- 精准定位配置的正确路径:打开对应VM的详情页,在左侧导航栏找到「支持 + 故障排除」分类下的「启动诊断」选项,不要从概览页的快捷入口跳转,进入页面后点击顶部的「设置」按钮,就能直接看到当前VM启动诊断绑定的存储账户完整名称、所属资源组,也可以直接在这个界面修改绑定关系。
- 批量查询全订阅VM关联存储账户的正确方式:
替换对应VM的资源组和名称后运行PowerShell命令,即可直接拉取关联关系:Get-AzVM -ResourceGroupName <VM所在资源组> -Name <VM名称> | Select-Object -ExpandProperty DiagnosticsProfile
输出结果中BootDiagnostics.StorageUri字段对应的是存储账户的Blob终结点,提取URI的前缀部分即为存储账户名(例如URI为https://mydiag123.blob.core.windows.net,对应存储账户就是mydiag123)。如果要批量导出全订阅的关联关系,遍历所有VM的上述属性值即可,不会出现旧脚本全字段空白的问题。 - 特殊场景说明:如果运行上述命令得到的StorageUri是Azure平台托管的内部终结点,说明你的VM使用的是Azure托管的启动诊断存储,这类存储账户所有权归Azure平台,不会出现在你个人的存储账户列表中——你能正常查看诊断截图、串行日志,是平台为你开放了对应权限,不需要你自行维护这个存储账户。
内容的提问来源于stack exchange,提问作者David Payne
相关产品推荐
相关产品推荐

