Поделиться через


PowerShell@1 — задача PowerShell версии 1

Запустите скрипт PowerShell.

Синтаксис

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

Входные данные

scriptType - Тип
string. Обязательный. Допустимые значения: inlineScript (встроенный скрипт), filePath (путь к файлу). Значение по умолчанию: filePath.

Указывает тип скрипта для запуска задачи: встроенный скрипт или путь к файлу .ps1 .


scriptName - Путь к скрипту
string. Требуется при .scriptType = filePath

Указывает тип скрипта для запуска задачи: встроенный скрипт или путь к файлу .ps1 .


arguments - Аргументы
string.

Указывает аргументы, передаваемые в скрипт PowerShell. Аргументами могут быть порядковые параметры или именованные параметры. Например, -Name someName -Path -Value "Some long string value".

arguments не используется, если targetType задано значение inline.


workingFolder - Рабочая папка
string.

Указывает рабочий каталог, в котором выполняется скрипт. Если значение не указано, рабочим каталогом будет $(Build.SourcesDirectory).


inlineScript - Встроенный скрипт
string. Требуется при .scriptType = inlineScript Значение по умолчанию: # 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".

Указывает содержимое скрипта. Максимальная поддерживаемая длина встроенного скрипта составляет 500 символов. Используйте скрипт из файла, если вы хотите использовать более длинный скрипт.


failOnStandardError - Сбой при стандартной ошибке
boolean. Значение по умолчанию: true.

Если значение этого логического значения равно , задача завершается trueсбоем, если какие-либо ошибки записываются в конвейер ошибок или если какие-либо данные записываются в поток стандартных ошибок. В противном случае задача использует код выхода для определения сбоя.


Параметры управления задачами

Помимо входных данных, все задачи имеют параметры управления. Дополнительные сведения см. в разделе Параметры управления и общие свойства задачи.

Выходные переменные

Нет.

Remarks

PowerShell@1 выполняется только в агентах Windows. Чтобы запустить PowerShell на агентах других типов, используйте PowerShell@2.

Каждый сеанс PowerShell длится только в течение всего задания, в котором он выполняется. Задачи, зависящие от начальной загрузки, должны находиться в том же задании, что и начальная загрузка.

Задайте переменную, чтобы ее могли считывать последующие скрипты и задачи.

Дополнительные сведения об определении переменных сборки в скрипте см. в статье Определение и изменение переменных сборки в скрипте.

Дополнительные сведения об определении переменных выпуска в скрипте см. в статье Определение и изменение переменных выпуска в скрипте.

Передача секретов конвейера в скрипте, но секрет не маскируется в журналах конвейера

Имейте в виду, что PowerShell отключает сообщения об ошибках, поэтому при использовании секретов конвейера в скрипте секреты могут быть усечены и предоставлены. Например, во встроенном скрипте ниже:

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

Может возникнуть исключение, например : At <path_to_temp_script_file>:4 char:3

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

Чтобы избежать этой проблемы, можно обрабатывать эти исключения на уровне скрипта или избегать случаев, когда секреты конвейера могут отображаться в строках исходного кода в сообщениях об ошибках.

Требования

Требование Описание
Типы конвейеров YAML, классическая сборка, классический выпуск
Выполняется в Агент, DeploymentGroup
Требования Локальные агенты должны иметь возможности , соответствующие следующим требованиям для выполнения заданий, использующих эту задачу: DotNetFramework
Capabilities Эта задача не удовлетворяет требованиям для последующих задач в задании.
Ограничения команд Любой
Устанавливаемые переменные Любой
Версия агента 1.102 или более поздней версии
Категория задач Служебная программа

См. также раздел