Add-AzureVhd报错存储账户onlystorage2134不存在,已确认账户存在求解决方案
Add-AzureVhd提示存储账户不存在排查方案
- 优先排查模块混用问题
Add-AzureVhd属于经典Azure Service Management(ASM)模块命令,仅支持识别经典部署模型下的存储资源。你现有存储账户通过ARM资源管理器模型创建,使用ASM模块命令自然无法检索到对应资源,是该类报错最常见诱因。
解决方法:替换为ARM模块对应的上传命令,避免混用不同部署模型的PowerShell接口。执行示例如下:
# 先获取目标存储账户上下文,确认资源可正常读取 $storageAccount = Get-AzureRmStorageAccount -ResourceGroupName "Only_Group" -Name "onlystorage2134" # 执行ARM模型下的VHD上传命令,明确指定资源组参数 Add-AzureRmVhd -Destination "https://onlystorage2134.blob.core.windows.net/rprm/rprm-10.9.0_80-253372-azure.vhd" -LocalFilePath "D:\Downloads\plcm-rpp-rprm-10.9.0_80-253372-azure.vhd" -ResourceGroupName "Only_Group"
如果本地已升级为Az模块,可将上述命令中的AzureRm前缀替换为Az即可。
- 核查存储容器与访问配置
- 确认存储账户下已提前创建目标容器
rprm,容器名拼写与大小写和Destination URL中完全匹配 - 检查存储账户的网络规则配置:若设置了IP白名单、VNet访问限制,需要将当前执行命令的本地公网IP加入允许列表,或临时放开所有网络访问做验证
- 无需调整Blob公共访问权限,上传操作基于Azure身份认证鉴权,公共访问级别不影响私有权限下的写入操作
- 校验当前登录上下文匹配性
确认当前PowerShell会话登录的Azure订阅,和存储账户所属的订阅b6392287-908e-4d6f-8f45-c97772dd2844一致,执行以下命令校验:
Get-AzureRmContext | Select-Object Subscription
若订阅不匹配,执行以下命令切换:
Select-AzureRmSubscription -SubscriptionId "b6392287-908e-4d6f-8f45-c97772dd2844"
- 替代验证方案
若上述操作后仍报错,可通过Azure门户存储浏览器、AzCopy工具直接上传同一份VHD到目标容器,验证存储资源本身是否可正常写入。若其他工具可正常上传,说明本地PowerShell模块存在冲突,卸载老旧的ASM模块后重装对应ARM/Az模块即可解决。
内容的提问来源于stack exchange,提问作者ian rego
相关产品推荐
相关产品推荐

