为什么在Azure Pipeline PowerShell任务中无法识别Azure cli?

unguejic  于 2023-06-06  发布在  Shell
关注(0)|答案(1)|浏览(213)

我在Windows Server Agent上安装了Azure cli,它在cmd/PowerShell中工作正常。但是当我想在Azure Pipeline中的PowerShell任务上使用Azure cli时,它不起作用。
错误消息为:“az”未被识别为内部或外部命令。
代理上的cmd示例:

Azure Pipeline上任务代码示例:

- powershell: |
        echo "*********" | az devops login --organization https://dev.azure.com/*****
  displayName: 'Login on Azure CLI

我检查Path环境变量,甚至更新管道中的变量,以确保一切正常,但没有任何变化。

dauxcl2d

dauxcl2d1#

我已经按照以下步骤从Azure管道执行az命令。检查您是否遵循了所有这些步骤并能够解决问题。
首先,我使用下面的命令在Windows机器上安装Azure CLI。

$ProgressPreference = 'SilentlyContinue'; Invoke-WebRequest -Uri https://azcliprod.blob.core.windows.net/msi/azure-cli-2.49.0.msi -OutFile .\AzureCLI.msi; Start-Process msiexec.exe -Wait -ArgumentList '/I AzureCLI.msi /quiet'; Remove-Item .\AzureCLI.msi

接下来,我使用以下配置在VM上安装了devops代理。

配置管道时,请确保选择正确的代理池。In my case it is default .要进行测试,请使用az login --service-principal -u $(appid) -p $(passwd) --tenant $(tenant)命令添加powershell task任务管道。运行管道并验证输出。

如果仍然遇到问题,请检查环境变量路径以验证是否包含AZ CLI路径。您可以从管道运行echo $env:PATH来检查。

如果AZ CLI路径不存在,请将其添加到系统变量并再次验证。

相关问题