Share 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 du fichier). Valeur par défaut : filePath.

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


scriptName - Chemin d’accès du script
string. Nécessaire lorsque scriptType = filePath.

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


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 est défini sur 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 - Inline Script
string. Nécessaire 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 de 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 en cas 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’erreurs standard. Sinon, la tâche s’appuie sur le code de sortie pour déterminer l’échec.


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

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 existe uniquement pendant la durée du travail dans lequel elle s’exécute. Les tâches qui dépendent des éléments démarrés doivent se trouver dans le même travail que le démarrage.

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 comme : 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 du script ou éviter les cas où des secrets de pipeline peuvent apparaître dans les lignes de code source dans les messages d’erreur.

Configuration requise

Condition requise Description
Types de pipelines YAML, build classique, version classique
S’exécute sur Agent, DeploymentGroup
Demandes Les agents auto-hébergés doivent avoir des fonctionnalités qui correspondent aux exigences suivantes pour exécuter des travaux qui utilisent cette tâche : DotNetFramework
Capabilities Cette tâche ne répond à aucune demande pour les tâches suivantes dans le travail.
Restrictions de commande Quelconque
Variables paramétrables Quelconque
Version de l’agent 1.102 ou version ultérieure
Catégorie de la tâche Utilitaire

Voir aussi