Самостоятельный агент Azure PowerShell (Core) - модуль не найден
Я использую саморазмещаемый агент Windows в Azure DevOps. Я установил PowerShell Core 6.2.3 и как администратор установил модуль Az, чтобы он был доступен всем пользователям.
Когда я запускаю сборку с помощью задачи Azure PowerShell (V4) с пометкой "Использовать ядро PowerShell" и "Последняя версия" Azure PowerShell, я получаю следующее сообщение:
==============================================================================
Task : Azure PowerShell
Description : Run a PowerShell script within an Azure environment
Version : 4.159.3
Author : Microsoft Corporation
Help : [Learn more about this task](https://go.microsoft.com/fwlink/?LinkID=613749)
==============================================================================
Added TLS 1.2 in session.
Disconnect-AzureRmAccount -Scope Process -ErrorAction Stop
##[warning]Run Connect-AzureRmAccount to login.
##[error]Could not find the modules: 'Az.Accounts' with Version: ''. If the module was recently installed, retry after restarting the Azure Pipelines task agent.
Если я запускаю сценарий на размещенном агенте, он работает нормально. Я не могу понять, почему это не удается. Я предполагаю, что это что-то другое в профиле или среде, в которой работает агент сборки, но я не знаю, как это проверить.
В агенте сборки, если я открываю окно PSCore и запускаю:
Get-Module Az -ListAvailable
Модуль находит правильно.
1 ответ
Скорее всего, агент DevOps работает от имени другого пользователя, и модули Az не были установлены для этого пользователя. Предполагая, что агент работает как служба, вы можете проверить пользователя, запустив
services.msc
и найдите «Агент Azure Pipelines», «Агент VSTS» или «vstsagent. [orgname]. [agentname]» [1].
Бег
Get-Module Az -ListAvailable
чтобы увидеть, где были установлены модули. Модули под
C:\Program Files\PowerShell\Modules
были установлены для всех пользователей [2].
Вы можете установить модули для всех пользователей с помощью:
Install-Module -Name Az -Scope AllUsers