Compartir vía


AzurePowerShell@5: tarea 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 pwsh parámetro trueen . PowerShell Core se usará en su lugar.

Syntax

# 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 - 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.


ScriptType - Tipo de script
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 del 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.


Inline - Script insertado
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 de script insertada admitida es de 5000 caracteres. Use un script de un archivo si desea usar un script más largo.


ScriptArguments - Argumentos de script
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 y silentlyContinue. Valor predeterminado: stop.

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


FailOnStandardError - Error en el 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 escriben datos en la secuencia de errores 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 de Azure PowerShell admitidas son 1.0.0, 1.6.02.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 (Especificar otra versión).


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

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


pwsh - Uso de PowerShell Core
boolean. Valor predeterminado: false.

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


validateScriptSignature - Validación de la firma del 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.


workingDirectory - Directorio de trabajo
string.

Directorio de trabajo donde se ejecuta el script.


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

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á correctamente, ya que es posible que tenga el acceso necesario.

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 Role-Based Access Control para administrar el acceso a los recursos de suscripción de Azure.

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

Azure PowerShell tarea 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, se debe especificar la versión de Azure PowerShell preferida 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 agentes hospedados por Microsoft.

Problemas de conexión del 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
Peticiones None
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 2.115.0 o superior
Categoría de la tarea: Implementación