使用Windows Powershell自动身份验证为Azure作为服务主体

时间:2019-04-08 21:54:18

标签: azure azure-powershell

我需要使用Powershell进行一些自动化的Jenkins作业。为此,我需要以非交互方式认证为服务主体。

使用Azure CLI,可以使用以下命令以非交互方式完成此操作:

az login --service-principal -u "$client_id" -p "$client_secret" -t "$tenant_id"

但是,使用Powershell的Connect-AzAccount cmdlet来完成此任务非常困难。无论如何,使用Powershell cmdlet可以达到与上述相同的结果吗?所有选项described here似乎都是交互式的。

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

要使用Connect-AzAccount进行非交互式登录,请尝试以下命令,strong password是您的客户端密码,它对我而言很好用。

$azureAplicationId ="Azure AD Application Id"
$azureTenantId= "Your Tenant Id"
$azurePassword = ConvertTo-SecureString "strong password" -AsPlainText -Force
$psCred = New-Object System.Management.Automation.PSCredential($azureAplicationId , $azurePassword)
Connect-AzAccount -Credential $psCred -TenantId $azureTenantId  -ServicePrincipal 

enter image description here