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.0
et 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.0
et 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 |