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
- Uso de un script de PowerShell para personalizar la canalización: ApplyVersionToAssemblies.ps1
- Más información sobre los scripts de PowerShell