Azure DevOps: Powershell Get-AzSubscription не распознается

Я развертываю шаблон ARM из Azure DevOps с помощью Azure PowerShell, как показано ниже.

введите описание изображения здесь

Это развертывание на уровне подписки. Я получаю ошибку ниже.

Термин «Get-AzSubscription» не распознается как имя командлета, функции, файла сценария или работающей программы. Проверьте написание имени или, если был включен путь, убедитесь, что путь правильный, и повторите попытку.

Install-Module -Name Az -AllowClobber -Scope CurrentUser
Import-Module Az
$context = Get-AzSubscription -SubscriptionId xxxxxxxx
Set-AzContext $context


New-azdeployment -Name "SKL" -Location westeurope -TemplateFile .\delegatedResourceManagement.json -TemplateParameterFile .\delegatedResourceManagement.parameters.json

Журналы:

##[section]Starting: Azure PowerShell script: InlineScript
==============================================================================
Task         : Azure PowerShell
Description  : Run a PowerShell script within an Azure environment
Version      : 3.153.0
Author       : Microsoft Corporation
Help         : https://docs.microsoft.com/azure/devops/pipelines/tasks/deploy/azure-powershell
==============================================================================
##[command]Import-Module -Name C:\Modules\azurerm_6.7.0\AzureRM\6.7.0\AzureRM.psd1 -Global
##[command]Clear-AzureRmContext -Scope Process
##[command]Disable-AzureRmContextAutosave -ErrorAction Stop
##[command]Add-AzureRMAccount -ServicePrincipal -Tenant *** -Credential System.Management.Automation.PSCredential -Environment AzureCloud @processScope
##[command] Select-AzureRMSubscription -SubscriptionId xxxxxxx -TenantId ***
##[command]& 'd:\a\_temp\xxxxxxd.ps1' 
##[warning]User declined to install module (Az).
##[error]The specified module 'Az' was not loaded because no valid module file was found in any module directory.
##[command]Disconnect-AzureRmAccount -Scope Process -ErrorAction Stop
##[command]Clear-AzureRmContext -Scope Process -ErrorAction Stop
##[error]The term 'Get-AzSubscription' 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.
##[section]Finishing: Azure PowerShell script: InlineScript

person Sakaldeep Yadav    schedule 16.07.2019    source источник


Ответы (3)


Вам необходимо указать версию задачи: 4.* (Preview) или выше, чтобы использовать модуль Az PowerShell:

введите описание изображения здесь

Также есть Azure resource group deployment для простого развертывания шаблона ARM:

введите описание изображения здесь

person Thomas    schedule 16.07.2019
comment
Поскольку мои шаблоны будут развертываться на уровне подписки, развертывание группы ресурсов Azure не будет работать. Версия задачи = 4. * (Превью) сработала. Спасибо. - person Sakaldeep Yadav; 16.07.2019
comment
Используйте версию 5 сейчас - person johnstaveley; 18.06.2020

похоже, слишком много путаницы среди всех модулей z, MSFT перепутали новые / старые модули и конфликтуют друг с другом. az account show отобразит все модули с AZ CLI

az account show
person Karthikeyan VK    schedule 30.10.2019

  1. Приложения и функции поиска - удалите старую версию Azure от апреля 2018 г.
  2. Перейдите примерно по этой ссылке https://blog.atwork.at/post/The-new-Azure-PowerShell-Az-module

Тогда у вас не будет проблем с

Get-AzSubscription   ( after using Connect) 
person Tom Stickel    schedule 08.06.2020