Compartir a través de


AzurePowerShell@5: tarea de Azure PowerShell v5

Use esta tarea para ejecutar un script de PowerShell dentro de un entorno de Azure. El contexto de Azure se autentica con la conexión de servicio de Azure Resource Manager proporcionada.

Nota:

De forma predeterminada, Azure PowerShell v5 usa PowerShell Core para agentes de Linux y Windows PowerShell para agentes de Windows. Para usar la versión más reciente de PowerShell en agentes de Windows, establezca el parámetro pwsh en true. PowerShell Core se usará en su lugar.

Sintaxis

# 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 - de suscripción de Azure
Alias de entrada: ConnectedServiceNameARM. string. Obligatorio.

La suscripción de Azure Resource Manager que se va a configurar antes de ejecutar PowerShell.


tipo de script de ScriptType -
string. Valores permitidos: FilePath (ruta de acceso del archivo de script), InlineScript (script en línea). Valor predeterminado: FilePath.

Tipo del script: ruta de acceso del archivo o insertada.


ScriptPath - ruta de acceso de script
string. Opcional. Use cuando ScriptType = FilePath.

Ruta de acceso del script. Debe ser una ruta de acceso completa o una relativa al directorio de trabajo predeterminado.


de script insertado de
string. Opcional. Use cuando ScriptType = InlineScript. Valor predeterminado: # You can write your azure powershell scripts inline here. \n# You can also pass predefined and custom variables to this script using arguments.

Especifica el script que se va a ejecutar. La longitud máxima admitida del script en línea es de 5000 caracteres. Use un script de un archivo si desea usar un script más largo.


argumentos de script de ScriptArguments -
string. Opcional. Use cuando ScriptType = FilePath.

Parámetros adicionales que se van a pasar a PowerShell. Pueden ser parámetros ordinales o con nombre. No es aplicable a una opción de script insertado.


errorActionPreference - errorActionPreference
string. Valores permitidos: stop, continue, silentlyContinue. Valor predeterminado: stop.

Selecciona el valor de la variable ErrorActionPreference para ejecutar el script.


FailOnStandardError - error en la de error estándar
boolean. Valor predeterminado: false.

Cuando esto es true, se producirá un error en esta tarea si se escriben errores en la canalización de errores o si se escribe algún dato en el flujo de error estándar.


azurePowerShellVersion - versión de Azure PowerShell
Alias de entrada: TargetAzurePs. string. Valores permitidos: LatestVersion (versión instalada más reciente), OtherVersion (especifique otra versión). Valor predeterminado: OtherVersion.

En el caso de los agentes hospedados, las versiones admitidas de Azure PowerShell se 1.0.0, 1.6.0, 2.3.2, 2.6.0y 3.1.0 (cola de VS2017 hospedada). Para elegir la versión más reciente disponible en el agente, seleccione LatestVersion (versión instalada más reciente).

En el caso de los agentes privados, puede especificar una versión preferida de Azure PowerShell mediante OtherVersion (Especifique otra versión).


preferredAzurePowerShellVersion - versión preferida de Azure PowerShell
Alias de entrada: CustomTargetAzurePs. string. Obligatorio cuando TargetAzurePs = OtherVersion.

La versión preferida de Azure PowerShell debe ser una versión semántica adecuada, por ejemplo. 1.2.3. No se admite regex como 2.\*,2.3.\*. El grupo de VS2017 hospedado admite actualmente versiones del módulo Az 1.0.0, 1.6.0, 2.3.2, 2.6.0y 3.1.0.


pwsh - Usar powerShell Core
boolean. Valor predeterminado: false.

Si esto es cierto, las tareas que se ejecutan en agentes de Windows usarán pwsh.exe desde la ruta de acceso en lugar de powershell.exe.


validateScriptSignature - validar la firma de script
boolean. Opcional. Use cuando ScriptType = FilePath. Valor predeterminado: false.

Si esto es true, la tarea comprobará primero para asegurarse de que el script especificado está firmado y válido antes de ejecutarlo.


de directorio de trabajo de
string.

Directorio de trabajo donde se ejecuta el script.


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

Solución de problemas

El script funcionó localmente, pero se produjo un error en la canalización.

Esto suele ocurrir cuando la conexión de servicio usada en la canalización no tiene permisos suficientes para ejecutar el script. Localmente, el script se ejecuta con sus credenciales y se realizaría correctamente ya que usted puede tener el acceso requerido.

Para resolver este problema, asegúrese de que las credenciales de autenticación o principio de servicio tienen los permisos necesarios. Para más información, consulte Uso de Access Control basado en rol para administrar el acceso a los recursos de la suscripción de Azure.

Error: No se encontraron los módulos: "<nombre del módulo>" con versión: "<versión>". Si el módulo se instaló recientemente, vuelva a intentarlo después de reiniciar el agente de tareas de Azure Pipelines.

La tarea de Azure PowerShell usa el módulo Azure/AzureRM/Az de PowerShell para interactuar con la suscripción de Azure. Este problema se produce cuando el módulo de PowerShell no está disponible en el agente hospedado. Por lo tanto, para una versión de tarea determinada, versión de Azure PowerShell preferida debe especificarse en las opciones de versión de Azure PowerShell de la lista de versiones disponibles. El software instalado se puede encontrar en la tabla software de en agentes hospedados por Microsoft.

Problemas de conexión de servicio

Para solucionar problemas relacionados con las conexiones de servicio, consulte solución de problemas de conexión de servicio.

Ejemplos

En el ejemplo siguiente se muestra cómo invocar un script desde un archivo y pasar argumentos de script a él.

- 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

Los argumentos siguientes muestran cómo invocar un script insertado.

- 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 Descripción
Tipos de canalización YAML, compilación clásica, versión clásica
Se ejecuta en Agente, DeploymentGroup
demandas Ninguno
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 2.115.0 o superior
Categoría de tarea Desplegar