Мне нужно использовать Powershell для некоторых автоматизированных заданий Jenkins. Для выполнения этой работы мне необходимо пройти аутентификацию в качестве субъекта-службы в неинтерактивном режиме.
С помощью Azure CLI это можно сделать неинтерактивно с помощью следующей команды:
az login --service-principal -u "$client_id" -p "$client_secret" -t "$tenant_id"
Однако выполнить это с помощью командлета Connect-AzAccount
для Powershell оказывается непросто. Можно ли как-то добиться того же результата, что и выше, с помощью командлета Powershell? Все параметры описано здесь кажутся только интерактивными.
Любая помощь будет принята с благодарностью.
Чтобы использовать 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
можно ли хранить пароль где-нибудь в хранилище вместо того, чтобы сохранять его локально, так как я не хочу сохранять пароль на своем локальном компьютере для входа в azure