Partager via


AzurePowerShell@5 - Tâche Azure PowerShell v5

Utilisez cette tâche pour exécuter un script PowerShell dans un environnement Azure. Le contexte Azure est authentifié avec la connexion de service Azure Resource Manager fournie.

Remarque

Par défaut, Azure PowerShell v5 utilise PowerShell Core pour les agents Linux et Windows PowerShell pour les agents Windows. Pour utiliser la dernière version de PowerShell sur les agents Windows, définissez le paramètre pwsh sur true. PowerShell Core sera ensuite utilisé à la place.

Syntaxe

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

Entrées

azureSubscription - abonnement Azure
Alias d’entrée : ConnectedServiceNameARM. string. Obligatoire.

Abonnement Azure Resource Manager à configurer avant d’exécuter PowerShell.


ScriptType - type de script
string. Valeurs autorisées : FilePath (chemin du fichier de script), InlineScript (script inline). Valeur par défaut : FilePath.

Type du script : chemin d’accès de fichier ou inline.


ScriptPath - chemin d’accès de script
string. Optionnel. Utilisez quand ScriptType = FilePath.

Chemin d’accès du script. Il doit s’agir d’un chemin complet ou d’un chemin d’accès par rapport au répertoire de travail par défaut.


Inline - script inline
string. Optionnel. Utilisez quand ScriptType = InlineScript. Valeur par défaut : # You can write your azure powershell scripts inline here. \n# You can also pass predefined and custom variables to this script using arguments.

Specifes le script à exécuter. La longueur maximale du script inline prise en charge est de 5 000 caractères. Utilisez un script à partir d’un fichier si vous souhaitez utiliser un script plus long.


ScriptArguments - arguments de script
string. Optionnel. Utilisez quand ScriptType = FilePath.

Paramètres supplémentaires à passer à PowerShell. Il peut s’agir de paramètres ordinaux ou nommés. Non applicable pour une option de script inline.


errorActionPreference - ErrorActionPreference
string. Valeurs autorisées : stop, continue, silentlyContinue. Valeur par défaut : stop.

Sélectionne la valeur de la variable ErrorActionPreference pour l’exécution du script.


FailOnStandardError - Échec sur les d’erreur standard
boolean. Valeur par défaut : false.

Lorsque cela est vrai, cette tâche échoue si des erreurs sont écrites dans le pipeline d’erreurs ou si des données sont écrites dans le flux d’erreurs standard.


azurePowerShellVersion - version d’Azure PowerShell
Alias d’entrée : TargetAzurePs. string. Valeurs autorisées : LatestVersion (dernière version installée), OtherVersion (Spécifier une autre version). Valeur par défaut : OtherVersion.

En cas d’agents hébergés, les versions Azure PowerShell prises en charge sont 1.0.0, 1.6.0, 2.3.2, 2.6.0et 3.1.0 (file d’attente VS2017 hébergée). Pour sélectionner la dernière version disponible sur l’agent, sélectionnez LatestVersion (dernière version installée).

Pour les agents privés, vous pouvez spécifier une version préférée d’Azure PowerShell à l’aide de OtherVersion (spécifier une autre version).


preferredAzurePowerShellVersion - version Azure PowerShell préférée
Alias d’entrée : CustomTargetAzurePs. string. Obligatoire lorsque TargetAzurePs = OtherVersion.

La version Azure PowerShell préférée doit être une version sémantique appropriée, par exemple. 1.2.3. Les expressions régulières comme 2.\*,2.3.\* ne sont pas prises en charge. Le pool VS2017 hébergé prend actuellement en charge les versions de module Az 1.0.0, 1.6.0, 2.3.2, 2.6.0et 3.1.0.


pwsh - utiliser powerShell Core
boolean. Valeur par défaut : false.

Si cela est vrai, les tâches exécutées sur les agents Windows utilisent pwsh.exe à partir de votre chemin au lieu de powershell.exe.


validateScriptSignature - Valider la signature de script
boolean. Optionnel. Utilisez quand ScriptType = FilePath. Valeur par défaut : false.

Si cela est vrai, la tâche vérifie d’abord que le script spécifié est signé et valide avant de l’exécuter.


workingDirectory - répertoire de travail
string.

Répertoire de travail dans lequel le script est exécuté.


Options de contrôle de la tâche

Toutes les tâches ont des options de contrôle en plus de leurs entrées de tâches. Pour plus d’informations, consultez Options de contrôle et propriétés de tâche courantes.

Variables de sortie

Aucun.

Remarques

Résolution des problèmes

Le script a fonctionné localement, mais a échoué dans le pipeline

Cela se produit généralement lorsque la connexion de service utilisée dans le pipeline n’a pas les autorisations nécessaires pour exécuter le script. Localement, le script s’exécute avec vos informations d’identification et réussit à s’exécuter, car vous disposez peut-être de l’accès requis.

Pour résoudre ce problème, vérifiez que le principe de service/les informations d’identification d’authentification disposent des autorisations requises. Pour plus d’informations, consultez Utiliser Access Control en fonction du rôle pour gérer l’accès aux ressources de votre abonnement Azure.

Erreur : Impossible de trouver les modules : '<nom du module>' avec version : '<version>'. Si le module a été récemment installé, réessayez après le redémarrage de l’agent de tâche Azure Pipelines

La tâche Azure PowerShell utilise le module PowerShell Azure/AzureRM/Az pour interagir avec l’abonnement Azure. Ce problème se produit lorsque le module PowerShell n’est pas disponible sur l’agent hébergé. Par conséquent, pour une version de tâche particulière, version Azure PowerShell préférée doit être spécifiée dans les options de version d’Azure PowerShell dans la liste des versions disponibles. Le logiciel installé se trouve dans la table Software dans agents hébergés par Microsoft.

Problèmes de connexion de service

Pour résoudre les problèmes liés aux connexions de service, consultez résolution des problèmes de connexion de service.

Exemples

L’exemple suivant montre comment appeler un script à partir d’un fichier et lui transmettre des arguments de script.

- 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

Les arguments suivants montrent comment appeler un script inline.

- 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!'

Spécifications

Besoin Description
Types de pipelines YAML, Build Classique, Version Classique
Exécutions sur Agent, DeploymentGroup
demandes Aucun
fonctionnalités de Cette tâche ne répond à aucune demande de tâches ultérieures dans le travail.
restrictions de commande N'importe quel
variables settables N'importe quel
Version de l’agent 2.115.0 ou version ultérieure
Catégorie de tâche Déployer