Compartir a través de


PowerShell@1: tarea de PowerShell v1

Ejecute un script de PowerShell.

Sintaxis

# 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

tipo de scriptType -
string. Obligatorio. Valores permitidos: inlineScript (script en línea), filePath (ruta de acceso del archivo). Valor predeterminado: filePath.

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


scriptName - ruta de acceso de script
string. Obligatorio cuando scriptType = filePath.

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


argumentos de
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.


de carpeta de trabajo de workingFolder -
string.

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


de script insertado de
string. Obligatorio 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 insertado es de 500 caracteres. Use un script de un archivo si desea usar un script más largo.


failOnStandardError - error en la de 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 escribe algún dato en la secuencia de errores 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 sus entradas de tarea. Para obtener más información, consulte Opciones de control y propiedades de tareas comunes.

Variables de salida

Ninguno.

Observaciones

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 dura solo durante 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.

Establecer una variable para que se pueda leer mediante scripts y tareas posteriores

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

Para obtener más información sobre cómo definir variables de versión en un script, consulte Definir y modificar 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 los 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
demandas Los agentes autohospedados deben tener funcionalidades que coincidan con las siguientes exigen ejecutar trabajos que usen esta tarea: DotNetFramework
funcionalidades de Esta tarea no satisface ninguna demanda de tareas posteriores en el trabajo.
restricciones de comandos Cualquiera
variables settable Cualquiera
Versión del agente 1.102 o superior
Categoría de tarea Utilidad

Consulte también