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

Azure Automation Az模块加载报错:同名程序集已加载,脚本运行失败

解决Azure Automation中Az模块冲突与Blob写入失败问题

核心问题分析

报错里的Assembly with same name is already loaded是因为Azure Automation默认已预装Az模块,手动调用Connect-AzAccount或尝试重复导入模块会触发版本/加载冲突;而New-AzStorageContext等命令找不到,是因为对应的Az.Storage模块未正确加载或未在Automation账户中启用。

解决方案步骤

1. 移除手动Connect-AzAccount调用

Azure Automation内置两种认证方式,无需手动执行Connect-AzAccount:

  • 使用Azure Automation运行账户:Automation账户默认关联的运行账户已具备访问Azure资源的权限,脚本会自动使用该身份认证。
  • 使用系统分配托管身份:给Automation账户启用托管身份后,为该身份分配存储账户的Storage Blob Data Contributor权限,脚本可直接利用身份访问存储。

2. 确保Az.Storage模块在Automation账户中可用

  1. 登录Azure门户,进入目标Automation账户
  2. 左侧菜单选择模块,检查是否存在Az.Storage模块
  3. 若不存在,点击添加模块,从Azure模块库中搜索并导入Az.Storage(建议选择与Automation默认Az模块兼容的版本)

3. 修改脚本避免模块冲突

修改后的脚本示例(适配托管身份/运行账户认证):

# 无需手动Connect-AzAccount,Automation会自动处理认证
$storageAccountName = "xxx"
$containerName = "yyy"

# 使用Automation内置身份获取存储上下文
$ctx = New-AzStorageContext -StorageAccountName $storageAccountName -UseConnectedAccount

# 验证容器存在(若不存在则创建)
$container = Get-AzStorageContainer -Name $containerName -Context $ctx -ErrorAction SilentlyContinue
if (-not $container) {
    $container = New-AzStorageContainer -Name $containerName -Context $ctx -Permission Blob
}

$date_loaded = Get-Date -Format "MMddyyyy"
$content = [System.Text.Encoding]::UTF8.GetBytes($Result -join "`r`n")
$blobName = "$date_loaded.csv"

# 使用Az模块原生cmdlet上传,减少底层依赖
Set-AzStorageBlobContent -Context $ctx -Container $containerName -Blob $blobName -InputStream (New-Object System.IO.MemoryStream($content)) -Force

4. 强制指定模块版本(可选,解决版本冲突)

若仍存在模块加载问题,可在脚本开头显式导入指定版本的模块,避免与默认模块冲突:

# 替换为实际兼容的模块版本号
Import-Module Az.Accounts -RequiredVersion 2.12.0
Import-Module Az.Storage -RequiredVersion 4.10.0

关键注意事项

  • 不要在Automation脚本中手动调用Connect-AzAccount,否则会与内置认证机制冲突
  • 确保Automation账户的身份(运行账户/托管身份)拥有存储账户的Blob数据读写权限
  • 优先使用Az模块的原生cmdlet替代直接调用.NET CloudBlobContainer API,减少对底层组件的依赖

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 18:13:16