Partilhar via


AzurePowerShell@5 - tarefa Azure PowerShell v5

Utilize esta tarefa para executar um script do PowerShell num ambiente do Azure. O contexto do Azure é autenticado com a ligação de serviço do Azure Resource Manager fornecida.

Nota

Por predefinição, Azure PowerShell v5 utiliza o PowerShell Core para agentes linux e Windows PowerShell para agentes do Windows. Para utilizar a versão mais recente do PowerShell em agentes do Windows, defina o pwsh parâmetro como true. Em seguida, será utilizado o PowerShell Core.

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 - Subscrição do Azure
Alias de entrada: ConnectedServiceNameARM. string. Obrigatório.

A subscrição do Azure Resource Manager para configurar antes de executar o PowerShell.


ScriptType - Tipo de Script
string. Valores permitidos: FilePath (Caminho do Ficheiro de Script), InlineScript (Script Inline). Valor predefinido: FilePath.

O tipo do script: caminho do ficheiro ou inline.


ScriptPath - Caminho do Script
string. Opcional. Utilize quando ScriptType = FilePath.

O caminho do script. Este deve ser um caminho completamente qualificado ou um relativo ao diretório de trabalho predefinido.


Inline - Inline Script
string. Opcional. Utilize quando ScriptType = InlineScript. Valor predefinido: # 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 executar. O comprimento máximo do script inline suportado é de 5000 carateres. Utilize um script de um ficheiro se quiser utilizar um script mais longo.


ScriptArguments - Argumentos de Script
string. Opcional. Utilize quando ScriptType = FilePath.

Os parâmetros adicionais a transmitir para o PowerShell. Estes podem ser parâmetros ordinais ou nomeados. Não aplicável a uma opção de script inline.


errorActionPreference - ErrorActionPreference
string. Valores permitidos: stop, , continuesilentlyContinue. Valor predefinido: stop.

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


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

Quando for verdade, esta tarefa falhará se forem escritos erros no pipeline de erros ou se forem escritos dados no fluxo de erros padrão.


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

No caso dos agentes alojados, as Versões de Azure PowerShell suportadas são 1.0.0, , 1.6.02.3.2, 2.6.0e 3.1.0 (Fila VS2017 Alojada). Para escolher a versão mais recente disponível no agente, selecione LatestVersion (Versão instalada mais recente).

Para agentes privados, pode especificar uma versão preferencial do Azure PowerShell com OtherVersion (Especificar outra versão).


preferredAzurePowerShellVersion - Versão de Azure PowerShell Preferencial
Alias de entrada: CustomTargetAzurePs. string. Necessário quando TargetAzurePs = OtherVersion.

A Versão de Azure PowerShell preferencial tem de ser uma versão semântica adequada, por exemplo. 1.2.3. Regex like 2.\*,2.3.\* não é suportado. O Conjunto de VS2017 Alojado suporta atualmente versões 1.0.0do módulo Az , , 1.6.0, 2.3.22.6.0e 3.1.0.


pwsh - Utilizar o PowerShell Core
boolean. Valor predefinido: false.

Se for verdade, as tarefas em execução em agentes do Windows serão utilizadas pwsh.exe a partir do seu caminho em vez de powershell.exe.


validateScriptSignature - Validar assinatura de script
boolean. Opcional. Utilize quando ScriptType = FilePath. Valor predefinido: false.

Se for verdade, a tarefa irá primeiro verificar se o script especificado está assinado e válido antes de executá-lo.


workingDirectory - Diretório de Trabalho
string.

O diretório de trabalho onde o script é executado.


Opções de controlo de tarefas

Todas as tarefas têm opções de controlo para além das entradas de tarefas. Para obter mais informações, veja Opções de controlo e propriedades de tarefas comuns.

Variáveis de saída

Nenhum.

Observações

Resolução de problemas

O script funcionou localmente, mas falhou no pipeline

Normalmente, isto ocorre quando a ligação de serviço utilizada no pipeline não tem permissões suficientes para executar o script. Localmente, o script é executado com as suas credenciais e terá êxito, pois poderá ter o acesso necessário.

Para resolver este problema, certifique-se de que as credenciais de princípio/autenticação do serviço têm as permissões necessárias. Para obter mais informações, veja Utilizar Role-Based Controlo de Acesso para gerir o acesso aos recursos de subscrição do Azure.

Erro: Não foi possível localizar os módulos: "<nome> do módulo" com a Versão: "<versão>". Se o módulo tiver sido instalado recentemente, repita após reiniciar o agente de tarefas dos Pipelines do Azure

Azure PowerShell tarefa utiliza o Módulo Azure/AzureRM/Az PowerShell para interagir com a Subscrição do Azure. Este problema ocorre quando o módulo do PowerShell não está disponível no Agente Alojado. Assim, para uma versão de tarefa específica, a versão preferred Azure PowerShell tem de ser especificada na Azure PowerShell opções de versão da lista de versões disponíveis. O software instalado pode ser encontrado na tabela Software em agentes alojados na Microsoft.

Problemas de Ligação de Serviço

Para resolver problemas relacionados com ligações de serviço, veja Resolução de problemas da Ligação de Serviço.

Exemplos

O exemplo seguinte mostra como invocar um script a partir de um ficheiro e transmitir argumentos de script para o mesmo.

- 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 seguintes argumentos mostram como invocar um script inline.

- 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 Description
Tipos de pipeline YAML, Compilação clássica, Versão clássica
É executado em Agente, DeploymentGroup
Exigências Nenhuma
Capacidades Esta tarefa não satisfaz quaisquer exigências para tarefas subsequentes na tarefa.
Restrições de comandos Qualquer
Variáveis de tabelas definidas Qualquer
Versão do agente 2.115.0 ou superior
Categoria da tarefa Implementação