Compartir vía


PowerShell@1: tarea de PowerShell v1

Ejecute un script de 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. Obligatorio. Valores permitidos: inlineScript (Script insertado), filePath (Ruta de acceso del archivo). Valor predeterminado: filePath.

Especifica el tipo de script para que se ejecute la tarea: un script en línea o una ruta de acceso a un .ps1 archivo.


scriptName - Ruta de acceso del script
string. Necesario cuando scriptType = filePath.

Especifica el tipo de script para que se ejecute la tarea: un script en línea o una ruta de acceso a un .ps1 archivo.


arguments - Argumentos
string.

Especifica los argumentos pasados al script de PowerShell. Los argumentos pueden ser parámetros ordinales o parámetros con nombre. Por ejemplo, -Name someName -Path -Value "Some long string value".

arguments no se usa cuando targetType se establece en inline.


workingFolder - Carpeta de trabajo
string.

Especifica el directorio de trabajo donde se ejecuta el script. Si no se especifica un valor, el directorio de trabajo es $(Build.SourcesDirectory).


inlineScript - Script insertado
string. Necesario cuando scriptType = inlineScript. Valor predeterminado: # 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 el contenido del script. La longitud máxima admitida del script en línea es de 500 caracteres. Use un script de un archivo si desea usar un script más largo.


failOnStandardError - Error en el error estándar
boolean. Valor predeterminado: true.

Si el valor de este valor booleano es true, se produce un error en la tarea si se escriben errores en la canalización de errores o si se escriben datos en el flujo de error estándar. De lo contrario, la tarea se basa en el código de salida para determinar el error.


Opciones de control de tareas

Todas las tareas tienen opciones de control además de las entradas de tareas. Para obtener más información, vea Opciones de control y propiedades de tareas comunes.

Variables de salida

Ninguno.

Comentarios

PowerShell@1 solo se ejecuta en agentes de Windows. Para ejecutar PowerShell en otros tipos de agente, use PowerShell@2.

Cada sesión de PowerShell solo dura el tiempo que dura el trabajo en el que se ejecuta. Las tareas que dependen de lo que se ha arrancado deben estar en el mismo trabajo que el arranque.

Establezca una variable para que los scripts y las tareas posteriores puedan leerla.

Para obtener más información sobre cómo definir variables de compilación en un script, consulte Definición y modificación de las variables de compilación en un script.

Para más información sobre cómo definir variables de versión en un script, consulte Definición y modificación de las variables de versión en un script.

Pasar secretos de canalización en el script, pero el secreto no está enmascarado en los registros de canalización

Tenga en cuenta que PowerShell corta los mensajes de error, por lo que si usa secretos de canalización en un script, los secretos se podrían recortar y exponer. Por ejemplo, en el script insertado siguiente:

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

Podría haber una excepción 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, puede controlar estas excepciones en un nivel de script o evitar casos en los que los secretos de canalización podrían aparecer en líneas de código fuente dentro de mensajes de error.

Requisitos

Requisito Descripción
Tipos de canalización YAML, compilación clásica, versión clásica
Se ejecuta en Agente, DeploymentGroup
Peticiones Los agentes autohospedados deben tener funcionalidades que coincidan con las siguientes demandas para ejecutar trabajos que usen esta tarea: DotNetFramework
Capabilities Esta tarea no satisface ninguna demanda de tareas posteriores en el trabajo.
Restricciones de comandos Any
Variables que se pueden establecer Any
Versión del agente 1.102 o superior
Categoría de la tarea: Utilidad

Consulte también