Partager via


PowerShell@1 - Tâche PowerShell v1

Exécutez un script PowerShell.

Syntaxe

# PowerShell v1
# Run a PowerShell script.
- task: PowerShell@1
  inputs:
    scriptType: 'filePath' # 'inlineScript' | 'filePath'. Required. Type. Default: filePath.
    scriptName: # string. Required when scriptType = filePath. Script Path. 
    #arguments: # string. Arguments. 
    #inlineScript: # string. Required when scriptType = inlineScript. Inline Script. 
  # Advanced
    #workingFolder: # string. Working folder. 
    #failOnStandardError: true # boolean. Fail on Standard Error. Default: true.

Entrées

scriptType - type
string. Obligatoire. Valeurs autorisées : inlineScript (script inline), filePath (chemin d’accès au fichier). Valeur par défaut : filePath.

Spécifie le type de script de la tâche à exécuter : un script inline ou un chemin d’accès à un fichier .ps1.


scriptName - chemin d’accès de script
string. Obligatoire lorsque scriptType = filePath.

Spécifie le type de script de la tâche à exécuter : un script inline ou un chemin d’accès à un fichier .ps1.


arguments - arguments
string.

Spécifie les arguments passés au script PowerShell. Les arguments peuvent être des paramètres ordinaux ou des paramètres nommés. Par exemple : -Name someName -Path -Value "Some long string value".

arguments n’est pas utilisé lorsque targetType a la valeur inline.


workingFolder - dossier de travail
string.

Spécifie le répertoire de travail dans lequel le script est exécuté. Si aucune valeur n’est spécifiée, le répertoire de travail est $(Build.SourcesDirectory).


inlineScript - script inline
string. Obligatoire lorsque scriptType = inlineScript. Valeur par défaut : # You can write your powershell scripts inline here. \n# You can also pass predefined and custom variables to this scripts using arguments\n\n Write-Host "Hello World".

Spécifie le contenu du script. La longueur maximale du script inline prise en charge est de 500 caractères. Utilisez un script à partir d’un fichier si vous souhaitez utiliser un script plus long.


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

Si la valeur de cette valeur booléenne est true, la tâche échoue si des erreurs sont écrites dans le pipeline d’erreurs ou si des données sont écrites dans le flux d’erreur standard. Sinon, la tâche s’appuie sur le code de sortie pour déterminer l’échec.


Options de contrôle de tâche

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

Variables de sortie

Aucun.

Remarques

PowerShell@1 s’exécute uniquement sur les agents Windows. Pour exécuter PowerShell sur d’autres types d’agents, utilisez PowerShell@2.

Chaque session PowerShell dure uniquement pendant la durée du travail dans lequel elle s’exécute. Les tâches qui dépendent de ce qui a été démarré doivent se trouver dans le même travail que le bootstrap.

Définir une variable afin qu’elle puisse être lue par les scripts et tâches suivants

Pour en savoir plus sur la définition de variables de build dans un script, consultez Définir et modifier vos variables de build dans un script.

Pour en savoir plus sur la définition de variables de mise en production dans un script, consultez Définir et modifier vos variables de mise en production dans un script.

Passage de secrets de pipeline dans un script, mais le secret n’est pas masqué dans les journaux de pipeline

N’oubliez pas que PowerShell supprime les messages d’erreur. Par conséquent, si vous utilisez des secrets de pipeline dans un script, les secrets peuvent être supprimés et exposés. Par exemple, dans le script inline ci-dessous :

./script.ps1 --arg1 value1 --arg2 <some_secret_which_will_be_masked_here>

Il peut y avoir une exception telle que : At <path_to_temp_script_file>:4 char:3:

+   ./script.ps1 --arg1 value1 --arg2 <unmasked_part_of_original_secret> ...
+   ~~~~~~~~~~
    + <Additional exception details>

Pour éviter ce problème, vous pouvez gérer ces exceptions au niveau d’un script ou éviter les cas où les secrets de pipeline peuvent apparaître dans des lignes de code source dans des messages d’erreur.

Spécifications

Besoin Descriptif
Types de pipelines YAML, Build Classique, Version Classique
Exécutions sur Agent, DeploymentGroup
demandes Les agents auto-hébergés doivent disposer de fonctionnalités qui correspondent aux exigences de suivantes pour exécuter des travaux qui utilisent cette tâche : DotNetFramework
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 1.102 ou version ultérieure
Catégorie de tâche Utilité

Voir aussi