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

Azure DevOps流水线因Az.Accounts模块更新失败求助

解决Azure DevOps流水线Az.Accounts版本冲突问题

问题描述

此前正常运行的Azure DevOps流水线,因Az.Accounts模块更新出现如下报错:

Write-Error: This module requires Az.Accounts version 2.19.0. An earlier version of
Az.Accounts is imported in the current PowerShell session. Please open a new
session before importing this module. This error could indicate that multiple
incompatible versions of the Azure PowerShell cmdlets are installed on your
system. Please see https://aka.ms/azps-version-error for troubleshooting
information.

尝试通过以下脚本卸载旧版并安装2.19.0版本,但未解决问题:

$desiredVersion = "2.19.0"
$installedModule = Get-InstalledModule -Name "Az.Accounts" -ErrorAction SilentlyContinue
Write-Output "$($installedModule)"
if ($installedModule) {
    if ($installedModule.Version.ToString() -ne $desiredVersion) {
        Uninstall-Module -Name "Az.Accounts" -Force -ErrorAction SilentlyContinue
        Install-Module -Name "Az.Accounts" -RequiredVersion $desiredVersion -Force -AllowClobber -Scope CurrentUser -Repository PSGallery
    }
} else {
    Install-Module -Name "Az.Accounts" -RequiredVersion $desiredVersion -Force -AllowClobber -Scope CurrentUser -Repository PSGallery
}
Import-Module Az.Accounts

解决方案

1. 彻底清理所有Az.Accounts版本后重装

原脚本仅卸载单个版本,系统中可能残留多版本模块。修改脚本先移除所有已安装的Az.Accounts版本,再安装指定版本:

$desiredVersion = "2.19.0"

# 卸载所有已安装的Az.Accounts版本
Get-InstalledModule -Name "Az.Accounts" -AllVersions -ErrorAction SilentlyContinue | Uninstall-Module -Force -ErrorAction SilentlyContinue

# 安装指定版本
Install-Module -Name "Az.Accounts" -RequiredVersion $desiredVersion -Force -AllowClobber -Scope CurrentUser -Repository PSGallery

# 强制导入指定版本模块
Import-Module Az.Accounts -RequiredVersion $desiredVersion -Force

2. 启动独立PowerShell会话执行操作

报错核心是当前会话已导入旧版本模块,无法在同一会话内替换。通过启动新会话隔离模块操作:

$desiredVersion = "2.19.0"
$scriptContent = @"
    # 卸载所有Az.Accounts版本
    Get-InstalledModule -Name 'Az.Accounts' -AllVersions -ErrorAction SilentlyContinue | Uninstall-Module -Force -ErrorAction SilentlyContinue
    # 安装指定版本
    Install-Module -Name 'Az.Accounts' -RequiredVersion '$desiredVersion' -Force -AllowClobber -Scope CurrentUser -Repository PSGallery
    # 导入指定版本
    Import-Module Az.Accounts -RequiredVersion '$desiredVersion' -Force
"@

# 启动新PowerShell会话执行脚本
Start-Process powershell.exe -ArgumentList "-NoProfile -Command $scriptContent" -Wait -NoNewWindow

3. 使用Azure DevOps内置Azure PowerShell任务

直接借助流水线的Azure PowerShell任务自动处理版本依赖:

  • 在流水线中添加Azure PowerShell任务
  • 在任务设置的Azure PowerShell version选项中,选择Specify version,输入与Az.Accounts 2.19.0匹配的Az主模块版本(例如Az 10.3.0包含Az.Accounts 2.19.0)
  • 该任务会自动隔离模块环境,避免会话内版本冲突

4. 清理自托管代理的模块缓存

如果使用自托管代理,需清理本地模块缓存:

  • 登录代理服务器,删除C:\Users\<代理运行账户>\Documents\WindowsPowerShell\Modules\Az.Accounts下的所有版本文件夹
  • 重启代理服务后重新运行流水线

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 01:10:06