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

Azure DevOps运行KeyVault清除管道报PowerShell退出码1错误

问题

这是我在Azure上创建的管道任务:

# Pipeline that purges the deleted KeyVault. pr: none trigger: none

pool:   vmImage: 'ubuntu-latest'   name: MyPool

variables:
- group: devopsforai-aml-vg

steps:

- task: PowerShell@2   inputs:
    targetType: 'inline'
    script: 'Remove-AzKeyVault -VaultName "msftMLOPs-AML-KV" -ResourceGroupName "mlops-RG" -PassThru'

当前使用托管代理运行管道时出现如下错误:
报错截图

##[error]PowerShell exited with code '1'.

需要定位报错原因并给出排查解决方案。


解答

PowerShell任务返回退出码1代表脚本执行过程中触发了未捕获的终止错误,结合Key Vault操作场景,按出现概率从高到低排查即可:

第一步:获取完整错误日志

现有日志只返回了退出码,没有具体异常信息,先拿到详细报错再精准定位:

  • 给管道运行添加变量system.debug = true后重新执行,会输出PowerShell执行全流程的debug日志
  • 或者临时修改PowerShell脚本,在开头添加$ErrorActionPreference = "Continue",同时开启任务的「失败后继续运行」配置,强制输出所有错误信息后再终止任务

高频原因1:未正确登录Azure/权限不足

你当前使用的是普通PowerShell@2任务,托管代理默认不会自动登录Azure租户,执行Az命令会直接抛出请先执行Connect-AzAccount登录的错误;就算手动登录了,权限不足也会导致删除失败:

  • 替换任务类型:将PowerShell@2替换为AzurePowerShell@5任务,绑定拥有Key Vault操作权限的Azure服务连接,任务会自动完成Az模块登录,不需要手动写登录命令
  • 权限校验:如果要清除软删除状态的Key Vault,服务连接对应的服务主体需要拥有资源组级别的Microsoft.KeyVault/vaults/purge/action权限,普通Contributor角色默认没有该权限,需要额外分配「Key Vault 清除者」内置角色,或给自定义角色添加对应操作权限
  • 如果目标Key Vault开启了清除保护,软删除保留期内无法执行强制清除操作,只能等保留期结束后再操作,执行命令也会返回权限错误

高频原因2:命令参数不匹配场景

Remove-AzKeyVault默认只会删除当前处于活跃状态的Key Vault,如果你的目标是清除已经被软删除的Key Vault,缺少参数会直接报资源不存在错误:

  • 清除软删除状态Key Vault的正确命令如下,不需要指定资源组,需要指定KV所在区域并加-InRemovedState参数:
    Remove-AzKeyVault -VaultName "msftMLOPs-AML-KV" -Location "<替换为Key Vault实际所在区域,比如chinaeast2、eastus>" -InRemovedState -Force -PassThru
    
  • 提前校验资源状态:执行清除命令前先运行Get-AzKeyVault -VaultName "msftMLOPs-AML-KV" -InRemovedState,确认软删除列表中确实存在该KV,且名称、区域拼写正确

高频原因3:代理池配置冲突

你当前的pool配置同时指定了vmImage: 'ubuntu-latest'和name: MyPool,Azure DevOps会优先调度到name指定的代理池,如果MyPool是私有代理池、或池中代理未安装Az.KeyVault模块,也会导致命令执行失败:

  • 如果确定要用微软托管代理,直接删除pool配置中的name: MyPool字段,只保留vmImage: 'ubuntu-latest'即可
  • 如果用私有代理,提前在代理机器上安装最新版Az.KeyVault模块,确保模块可用

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 19:27:27