我需要使用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似乎都是交互式的。
任何帮助将不胜感激。
答案 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