Azure PowerShell не работает в Azure Dev Ops на частном агенте - PullRequest
0 голосов
/ 14 ноября 2018

Я установил 64-разрядный частный агент на свой сервер сборки Windows Server 2012 R2.Я связал это с Azure Dev Ops.На сервере сборки у меня установлена ​​только версия 5.6.0 AzureRM, потому что это требуется для сценариев, которые я хочу запустить.Если у вас есть интересующие вас вопросы, см. Мой вопрос: Как установить PITR для всех баз данных в эластичном пуле баз данных Azure Sql?

Если я создаю задачу Azure PowerShell v3 в AzureDevOps для запуска следующего встроенного сценария:

Get-Module -Name AzureRM* -ListAvailable

Я получаю эту ошибку:

2018-11-14T13:26:56.0519566Z ==============================================================================
2018-11-14T13:26:56.0519655Z Task         : Azure PowerShell
2018-11-14T13:26:56.0519727Z Description  : Run a PowerShell script within an Azure environment
2018-11-14T13:26:56.0519782Z Version      : 3.1.7
2018-11-14T13:26:56.0519844Z Author       : Microsoft Corporation
2018-11-14T13:26:56.0520315Z Help         : [More Information](https://go.microsoft.com/fwlink/?LinkID=613749)
2018-11-14T13:26:56.0520404Z ==============================================================================
2018-11-14T13:26:57.1508635Z Added TLS 1.2 in session.
2018-11-14T13:26:57.4439615Z ##[command]Import-Module -Name C:\Program Files\WindowsPowerShell\Modules\AzureRM\5.6.0\AzureRM.psd1 -Global
2018-11-14T13:26:58.6759005Z ##[error]The following error occurred while loading the extended type data file: Error in TypeData "Microsoft.Azure.Commands.Common.Authentication.Abstractions.IAzureContextContainer": The TypeConverter was ignored because it already occurs.
Error in TypeData "Microsoft.Azure.Commands.Common.Authentication.Abstractions.IAzureContextContainer": The member SerializationDepth is already present.
Error in TypeData "Microsoft.Azure.Commands.Common.Authentication.ProtectedFileTokenCache": The member PropertySerializationSet is already present.
Error in TypeData "Microsoft.Azure.Commands.Common.Authentication.ProtectedFileTokenCache": The member SerializationMethod is already present.
Error in TypeData "Microsoft.Azure.Commands.Common.Authentication.AuthenticationStoreTokenCache": The member PropertySerializationSet is already present.
Error in TypeData "Microsoft.Azure.Commands.Common.Authentication.AuthenticationStoreTokenCache": The member SerializationMethod is already present.
Error in TypeData "Microsoft.Azure.Commands.Profile.Models.PSAzureContext": The member SerializationDepth is already present.
Error in TypeData "Microsoft.Azure.Commands.Profile.Models.PSAzureProfile": The member SerializationDepth is already present.

Если я войду на сервер сборки как учетная запись сервера сборкии откройте окно PowerShell, оно работает нормально.Он также отлично работает в обычной задаче PowerShell в DevOps Azure.

Мой сценарий PowerShell должен выполняться в контексте учетной записи Azure, как мне этого добиться?

EDIT

Я пробовал задачи Azure PowerShell v1 и v2, но это не сработало.Я также попытался указать версию PowerShell в разделе параметров версии как версию 5.6, а также последнюю установленную версию.Никто из них не работал.

...