У меня есть файл .ps1, в котором я написал сценарий командной строки Azure для входа в Azure с использованием принципала службы. Он выглядит следующим образом.
write-host 'Login start'
#parameters
$applicationId = $args[0].toString()
$securePasswordSP = $args[1].toString()
$tenantId = $args[2].toString()
$adminSecurePassword = $securePasswordSP | ConvertTo-SecureString -AsPlainText -Force
az login --service-principal --username $applicationId --password $adminSecurePassword --tenant $tenantId
write-host 'Login end'
Этот файл помещен в «C: \ Test»дорожка.Поэтому я открываю PowerShell для выполнения этого файла.Я запускаю следующую команду.
$SpId = "Service principal Id"
$SpSecret = "Sp Secret"
$tenantId = "Tenant Id"
& "C:\Test\TestScript.ps1" $SpId $SpSecret $tenantId
Это работает точно так, как ожидалось, и я могу войти в учетную запись Azure.
Но когда я использую ту же команду для запуска из Bamboo, она не работаетВ Bamboo я добавил этап -> Работа.В этой работе я добавил задачу.Я выбрал следующее:
Task Type : Script Configuration
Interpreter : Windows Powershell
Script location : Inline
Script Body :
$SpId = "Service principal Id"
$SpSecret = "Sp Secret"
$tenantId = "Tenant Id"
& "C:\Test\TestScript.ps1" $SpId $SpSecret $tenantId
Когда я запускаю это задание, я получаю следующую ошибку.
az : The term 'az' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
Когда я непосредственно открываю Windows PowerShell в Bamboo Agent и запускаю те же команды, он работает.Но когда я запускаю те же команды на портале Bamboo, он терпит неудачу.Есть ли какой-то дополнительный шаг, который я должен сделать, которого мне не хватает?
Любая помощь высоко ценится.