Compartilhar via


AzurePowerShell@5 – tarefa Azure PowerShell v5

Use essa tarefa para executar um script do PowerShell em um ambiente do Azure. O contexto do Azure é autenticado com a conexão de serviço Resource Manager do Azure fornecida.

Observação

Por padrão, Azure PowerShell v5 usa o PowerShell Core para agentes linux e Windows PowerShell para agentes do Windows. Para usar a versão mais recente do PowerShell em agentes do Windows, defina o pwsh parâmetro como true. Em seguida, o PowerShell Core será usado.

Syntax

# Azure PowerShell v5
# Run a PowerShell script within an Azure environment.
- task: AzurePowerShell@5
  inputs:
    azureSubscription: # string. Alias: ConnectedServiceNameARM. Required. Azure Subscription. 
    #ScriptType: 'FilePath' # 'FilePath' | 'InlineScript'. Script Type. Default: FilePath.
    #ScriptPath: # string. Optional. Use when ScriptType = FilePath. Script Path. 
    #Inline: # string. Optional. Use when ScriptType = InlineScript. Inline Script. 
    #ScriptArguments: # string. Optional. Use when ScriptType = FilePath. Script Arguments. 
    #errorActionPreference: 'stop' # 'stop' | 'continue' | 'silentlyContinue'. ErrorActionPreference. Default: stop.
    #FailOnStandardError: false # boolean. Fail on Standard Error. Default: false.
  # Azure PowerShell version options
    #azurePowerShellVersion: 'OtherVersion' # 'LatestVersion' | 'OtherVersion'. Alias: TargetAzurePs. Azure PowerShell Version. Default: OtherVersion.
    preferredAzurePowerShellVersion: # string. Alias: CustomTargetAzurePs. Required when TargetAzurePs = OtherVersion. Preferred Azure PowerShell Version. 
  # Advanced
    #pwsh: false # boolean. Use PowerShell Core. Default: false.
    #validateScriptSignature: false # boolean. Optional. Use when ScriptType = FilePath. Validate script signature. Default: false.
    #workingDirectory: # string. Working Directory.
# Azure PowerShell v5
# Run a PowerShell script within an Azure environment.
- task: AzurePowerShell@5
  inputs:
    azureSubscription: # string. Alias: ConnectedServiceNameARM. Required. Azure Subscription. 
    #ScriptType: 'FilePath' # 'FilePath' | 'InlineScript'. Script Type. Default: FilePath.
    #ScriptPath: # string. Optional. Use when ScriptType = FilePath. Script Path. 
    #Inline: # string. Optional. Use when ScriptType = InlineScript. Inline Script. 
    #ScriptArguments: # string. Optional. Use when ScriptType = FilePath. Script Arguments. 
    #errorActionPreference: 'stop' # 'stop' | 'continue' | 'silentlyContinue'. ErrorActionPreference. Default: stop.
    #FailOnStandardError: false # boolean. Fail on Standard Error. Default: false.
  # Azure PowerShell version options
    #azurePowerShellVersion: 'OtherVersion' # 'LatestVersion' | 'OtherVersion'. Alias: TargetAzurePs. Azure PowerShell Version. Default: OtherVersion.
    preferredAzurePowerShellVersion: # string. Alias: CustomTargetAzurePs. Required when TargetAzurePs = OtherVersion. Preferred Azure PowerShell Version. 
  # Advanced
    #pwsh: false # boolean. Use PowerShell Core. Default: false.
    #workingDirectory: # string. Working Directory.

Entradas

azureSubscription - Assinatura do Azure
Alias de entrada: ConnectedServiceNameARM. string. Obrigatórios.

O Azure Resource Manager assinatura a ser configurada antes de executar o PowerShell.


ScriptType - Tipo de script
string. Valores permitidos: FilePath (Caminho do Arquivo de Script) InlineScript (Script Embutido). Valor padrão: FilePath.

O tipo do script: caminho do arquivo ou embutido.


ScriptPath - Caminho do script
string. Opcional. Use quando ScriptType = FilePath.

O caminho do script. Esse deve ser um caminho totalmente qualificado ou um relativo ao diretório de trabalho padrão.


Inline - Script embutido
string. Opcional. Use quando ScriptType = InlineScript. Valor padrão: # You can write your azure powershell scripts inline here. \n# You can also pass predefined and custom variables to this script using arguments.

Especifica o script a ser executado. O comprimento máximo do script embutido com suporte é de 5.000 caracteres. Use um script de um arquivo se quiser usar um script mais longo.


ScriptArguments - Argumentos de script
string. Opcional. Use quando ScriptType = FilePath.

Os parâmetros adicionais a serem passados para o PowerShell. Eles podem ser parâmetros ordinais ou nomeados. Não aplicável a uma opção de script embutido.


errorActionPreference - Erroractionpreference
string. Valores permitidos: stop, continue, silentlyContinue. Valor padrão: stop.

Seleciona o valor da ErrorActionPreference variável para executar o script.


FailOnStandardError - Falha no Erro Padrão
boolean. Valor padrão: false.

Quando isso for verdadeiro, essa tarefa falhará se algum erro for gravado no pipeline de erro ou se algum dado for gravado no fluxo de erro padrão.


azurePowerShellVersion - Versão do Azure PowerShell
Alias de entrada: TargetAzurePs. string. Valores permitidos: LatestVersion (versão mais recente instalada) OtherVersion (especifique outra versão). Valor padrão: OtherVersion.

No caso de agentes hospedados, as versões de Azure PowerShell com suporte são 1.0.0, 1.6.0, 2.3.2, , 2.6.0e 3.1.0 (Fila vs2017 hospedada). Para escolher a versão mais recente disponível no agente, selecione LatestVersion (Versão mais recente instalada).

Para agentes privados, você pode especificar uma versão preferencial do Azure PowerShell usando OtherVersion (especifique outra versão).


preferredAzurePowerShellVersion - Versão de Azure PowerShell preferencial
Alias de entrada: CustomTargetAzurePs. string. Obrigatório quando TargetAzurePs = OtherVersion.

A versão de Azure PowerShell preferencial precisa ser uma versão semântica adequada, por exemplo. 1.2.3. Não há suporte para Regex como 2.\*,2.3.\* . Atualmente, o Pool vs2017 hospedado dá suporte às versões 1.0.0do módulo Az , 1.6.0, 2.3.2, 2.6.0e 3.1.0.


pwsh - Usar o PowerShell Core
boolean. Valor padrão: false.

Se isso for verdadeiro, as tarefas em execução em agentes do Windows usarão pwsh.exe do caminho em vez de powershell.exe.


validateScriptSignature - Validar assinatura de script
boolean. Opcional. Use quando ScriptType = FilePath. Valor padrão: false.

Se isso for verdadeiro, a tarefa primeiro marcar para garantir que o script especificado seja assinado e válido antes de executá-lo.


workingDirectory - Diretório de Trabalho
string.

O diretório de trabalho em que o script é executado.


Opções de controle de tarefa

Todas as tarefas têm opções de controle além de suas entradas de tarefa. Para obter mais informações, consulte Opções de controle e propriedades comuns da tarefa.

Variáveis de saída

Nenhum.

Comentários

Solução de problemas

O script funcionou localmente, mas falhou no pipeline

Isso normalmente ocorre quando a conexão de serviço usada no pipeline não tem permissões suficientes para executar o script. Localmente, o script é executado com suas credenciais e teria êxito, pois você pode ter o acesso necessário.

Para resolve esse problema, verifique se as credenciais de autenticação/princípio de serviço têm as permissões necessárias. Para obter mais informações, consulte Usar Role-Based Controle de Acesso para gerenciar o acesso aos recursos de assinatura do Azure.

Erro: não foi possível localizar os módulos: '<nome> do módulo' com Versão: '<versão>'. Se o módulo foi instalado recentemente, tente novamente após reiniciar o agente de tarefas do Azure Pipelines

Azure PowerShell tarefa usa o Módulo do Azure/AzureRM/Az PowerShell para interagir com a Assinatura do Azure. Esse problema ocorre quando o módulo do PowerShell não está disponível no Agente Hospedado. Portanto, para uma versão de tarefa específica, a versão de Azure PowerShell preferencial deve ser especificada nas opções de versão Azure PowerShell da lista de versões disponíveis. O software instalado pode ser encontrado na tabela Software em agentes hospedados pela Microsoft.

Problemas de conexão de serviço

Para solucionar problemas relacionados a conexões de serviço, consulte Solução de problemas de Conexão de Serviço.

Exemplos

O exemplo a seguir mostra como invocar um script de um arquivo e passar argumentos de script para ele.

- task: AzurePowerShell@5
  inputs:
    azureSubscription: my-arm-service-connection
    scriptType: filePath
    scriptPath: $(Build.SourcesDirectory)\myscript.ps1
    scriptArguments:
      -Arg1 val1 `
      -Arg2 val2 `
      -Arg3 val3
    azurePowerShellVersion: latestVersion
    pwsh: true

Os argumentos a seguir mostram como invocar um script embutido.

- task: AzurePowerShell@5
  inputs:
    azureSubscription: 'Azure subscription connection placeholder'
    azurePowerShellVersion: LatestVersion
    ScriptType: 'InlineScript'
    Inline: |
      # You can write your azure powershell scripts inline here. 
      # You can also pass predefined and custom variables to this script using arguments
      Write-Host 'Hello'
      Write-Host 'World!'

Requisitos

Requisito Descrição
Tipos de pipeline YAML, build clássico, versão clássica
É executado em Agent, DeploymentGroup
Demandas Nenhum
Funcionalidades Essa tarefa não atende a nenhuma demanda para tarefas subsequentes no trabalho.
Restrições de comando Qualquer
Variáveis configuráveis Qualquer
Versão do agente 2.115.0 ou superior
Categoria da tarefa Implantar