在Azure DevOps管道中,如何使用从addSpnToEnvironment参数返回的服务原则详细信息登录到AZ CLI?

在Azure DevOps管道中,如何使用从addSpnToEnvironment参数返回的服务原则详细信息登录到AZ CLI?,azure,azure-devops,azure-pipelines,devops,azure-service-principal,Azure,Azure Devops,Azure Pipelines,Devops,Azure Service Principal,实际上,我必须运行一个Python脚本,该脚本将AZ CLI命令烘焙到脚本中,并作为进程从子进程模块生成。为了运行这些命令,我需要登录到AZ CLI 我的管道中有一个AZ CLI任务,其中设置addSpnToEnvironment=true为我提供了$env:servicePrincipalId、$env:servicePrincipalKey和$env:tenatid。我的问题是,我现在如何使用这些详细信息登录AZ CLI,以便在任务中维护上下文,并且Python脚本中的AZ CLI命令能够识

实际上,我必须运行一个Python脚本,该脚本将AZ CLI命令烘焙到脚本中,并作为进程从
子进程
模块生成。为了运行这些命令,我需要登录到AZ CLI


我的管道中有一个AZ CLI任务,其中设置
addSpnToEnvironment=true
为我提供了
$env:servicePrincipalId
$env:servicePrincipalKey
$env:tenatid
。我的问题是,我现在如何使用这些详细信息登录AZ CLI,以便在任务中维护上下文,并且Python脚本中的AZ CLI命令能够识别这一点并执行?

您可以使用服务主体登录AZ CLI。见下文:

az login --service-principal --username $env:servicePrincipalId --password $env:servicePrincipalKey --tenant $env:tenantId

有关详细信息,请参阅文档。

使用PowerShell任务,这将导致ArgumentParseError:argument--username/-u:应为一个参数。我如何解决这个问题?@SamadAhmed如果你使用powershell脚本,你可以查看这个。