Partilhar via


PowerShell@1 - Tarefa do PowerShell v1

Execute um script do PowerShell.

Syntax

# PowerShell v1
# Run a PowerShell script.
- task: PowerShell@1
  inputs:
    scriptType: 'filePath' # 'inlineScript' | 'filePath'. Required. Type. Default: filePath.
    scriptName: # string. Required when scriptType = filePath. Script Path. 
    #arguments: # string. Arguments. 
    #inlineScript: # string. Required when scriptType = inlineScript. Inline Script. 
  # Advanced
    #workingFolder: # string. Working folder. 
    #failOnStandardError: true # boolean. Fail on Standard Error. Default: true.

Entradas

scriptType - Tipo
string. Obrigatório. Valores permitidos: inlineScript (Script Inline), filePath (Caminho do Ficheiro). Valor predefinido: filePath.

Especifica o tipo de script para a tarefa ser executada: um script inline ou um caminho para um .ps1 ficheiro.


scriptName - Caminho do Script
string. Necessário quando scriptType = filePath.

Especifica o tipo de script para a tarefa ser executada: um script inline ou um caminho para um .ps1 ficheiro.


arguments - Argumentos
string.

Especifica os argumentos transmitidos para o script do PowerShell. Os argumentos podem ser parâmetros ordinais ou parâmetros nomeados. Por exemplo, -Name someName -Path -Value "Some long string value".

arguments não é utilizado quando targetType está definido como inline.


workingFolder - Pasta de trabalho
string.

Especifica o diretório de trabalho onde o script é executado. Se não for especificado um valor, o diretório de trabalho é $(Build.SourcesDirectory).


inlineScript - Inline Script
string. Necessário quando scriptType = inlineScript. Valor predefinido: # You can write your powershell scripts inline here. \n# You can also pass predefined and custom variables to this scripts using arguments\n\n Write-Host "Hello World".

Especifica o conteúdo do script. O comprimento máximo do script inline suportado é de 500 carateres. Utilize um script de um ficheiro se quiser utilizar um script mais longo.


failOnStandardError - Falha no Erro Padrão
boolean. Valor predefinido: true.

Se o valor deste valor booleano for true, a tarefa falhará se forem escritos erros no pipeline de erros ou se forem escritos dados no fluxo de Erro Padrão. Caso contrário, a tarefa depende do código de saída para determinar a falha.


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

PowerShell@1 é executado apenas em agentes do Windows. Para executar o PowerShell noutros tipos de agente, utilize PowerShell@2.

Cada sessão do PowerShell dura apenas a duração da tarefa em que é executada. As tarefas que dependem do que foi iniciado têm de estar na mesma tarefa que o bootstrap.

Definir uma variável para que possa ser lida por scripts e tarefas subsequentes

Para saber mais sobre como definir variáveis de compilação num script, veja Definir e modificar as variáveis de compilação num script.

Para saber mais sobre como definir variáveis de versão num script, veja Definir e modificar as variáveis de versão num script.

Transmitir segredos do pipeline no script, mas o segredo não está mascarado nos registos do pipeline

Tenha em atenção que o PowerShell corta as mensagens de erro, por isso, se utilizar segredos de pipeline num script, os segredos podem ser cortados e expostos. Por exemplo, no script inline abaixo:

./script.ps1 --arg1 value1 --arg2 <some_secret_which_will_be_masked_here>

Pode existir uma exceção como: At <path_to_temp_script_file>:4 char:3:

+   ./script.ps1 --arg1 value1 --arg2 <unmasked_part_of_original_secret> ...
+   ~~~~~~~~~~
    + <Additional exception details>

Para evitar este problema, pode processar estas exceções ao nível do script ou evitar casos em que os segredos do pipeline possam aparecer nas linhas de código fonte nas mensagens de erro.

Requisitos

Requisito Description
Tipos de pipeline YAML, Compilação clássica, Versão clássica
É executado em Agent, DeploymentGroup
Exigências Os agentes autoalojados têm de ter capacidades que correspondam às seguintes exigências para executar tarefas que utilizem esta tarefa: DotNetFramework
Capacidades Esta tarefa não satisfaz quaisquer exigências para tarefas subsequentes na tarefa.
Restrições de comandos Qualquer
Variáveis de definição Qualquer
Versão do agente 1.102 ou superior
Categoria da tarefa Utilitário

Ver também