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

Azure DevOps Linux代理运行PowerShell无法识别Get-AzSubscription报错咨询

问题原因
  • Ubuntu-latest托管代理默认仅预装了Azure CLI(即你在Bash中使用的az命令工具),并未预装PowerShell的Az模块,二者是完全独立的Azure操作工具,因此az命令可正常运行不代表Az PowerShell cmdlet可用。
  • 你使用的Get-AzSubscription属于Az.Accounts模块下的cmdlet,运行前必须先在代理环境中安装对应模块。
修复方案

在现有PowerShell inline脚本开头添加模块安装逻辑,你也可以选择拆分出单独的前置步骤来安装模块,修改后的管道示例如下:

trigger:
- main

pool:
  vmImage: 'ubuntu-latest'

steps:
- task: AzureCLI@2
  inputs:
    azureSubscription: sp-test
    scriptType: pscore
    scriptLocation: 'inlineScript'
    inlineScript: |
      # 安装所需的Az模块,仅安装Az.Accounts可节省运行时间,也可替换为Install-Module -Name Az安装完整模块
      Install-Module -Name Az.Accounts -Scope CurrentUser -Repository PSGallery -Force -AllowClobber
      # 导入模块
      Import-Module Az.Accounts
      # 执行你的业务逻辑
      $Subscriptions = Get-AzSubscription
      # 后续逻辑
  displayName: 'Run Powershell with Az Module'

小提示:如果对管道运行速度有要求,建议只安装业务需要的子模块,不要安装完整的Az全量模块,可减少30秒以上的安装耗时。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 00:15:11