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.

Notes

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 sur pwshtrue. PowerShell Core sera ensuite utilisé à la place.

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.

Entrées

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

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


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

Type du script : chemin du fichier ou inline.


ScriptPath - Chemin d’accès du script
string. facultatif. Utilisez quand ScriptType = FilePath.

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


Inline - Inline Script
string. facultatif. 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.

Spécifie le script à exécuter. La longueur maximale de 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 - Script Arguments
string. facultatif. 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 ErrorActionPreference variable pour l’exécution du script.


FailOnStandardError - Échec en cas 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 Azure PowerShell
Alias d’entrée : TargetAzurePs. string. Valeurs autorisées : LatestVersion (Dernière version installée), OtherVersion (Spécifiez une autre version). Valeur par défaut : OtherVersion.

Dans le 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 de Azure PowerShell à l’aide OtherVersion de (Spécifier une autre version).


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

La version Azure PowerShell par défaut doit être une version sémantique appropriée, par exemple. 1.2.3. L’expression régulière comme 2.\*,2.3.\* n’est pas prise en charge. Le pool VS2017 hébergé prend actuellement en charge les versions 1.0.0du module Az , 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 d’accès au lieu de powershell.exe.


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

Si cela est vrai, la tâche case activée d’abord pour s’assurer 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.

Notes

Dépannage

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 ne dispose pas des autorisations suffisantes pour exécuter le script. Localement, le script s’exécute avec vos informations d’identification et réussira, 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 Role-Based Access Control 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é installé récemment, réessayez après le redémarrage de l’agent de tâche Azure Pipelines

Azure PowerShell tâche 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, la version Azure PowerShell préférée doit être spécifiée dans les options de version Azure PowerShell de la liste des versions disponibles. Le logiciel installé se trouve dans la table Logiciels dans les 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 passer 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!'

Configuration requise

Condition requise Description
Types de pipelines YAML, build classique, version classique
S’exécute sur Agent, DeploymentGroup
Demandes None
Capabilities Cette tâche ne répond à aucune demande pour les tâches suivantes dans le travail.
Restrictions de commandes Quelconque
Variables settables Quelconque
Version de l’agent 2.115.0 ou version ultérieure
Catégorie de la tâche Déployer