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


AzurePowerShell@5 — задача Azure PowerShell версии 5

Используйте эту задачу для запуска скрипта PowerShell в среде Azure. Контекст Azure проходит проверку подлинности с помощью предоставленного подключения службы azure Resource Manager.

Примечание

По умолчанию Azure PowerShell версии 5 использует PowerShell Core для агентов Linux и Windows PowerShell для агентов Windows. Чтобы использовать последнюю версию PowerShell для агентов Windows, задайте pwsh для параметра значение true. После этого будет использоваться PowerShell Core.

Синтаксис

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

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

azureSubscription - Подписка Azure
Входной псевдоним: ConnectedServiceNameARM. string. Обязательный.

Подписка Azure Resource Manager, настроенная перед запуском PowerShell.


ScriptType - Тип скрипта
string. Допустимые значения: FilePath (Путь к файлу скрипта), InlineScript (встроенный скрипт). Значение по умолчанию: FilePath.

Тип скрипта: путь к файлу или встроенный.


ScriptPath - Путь к скрипту
string. Необязательный элемент. Используйте при ScriptType = FilePath.

Путь к скрипту. Это должен быть полный путь или путь относительно рабочего каталога по умолчанию.


Inline - Встроенный скрипт
string. Необязательный элемент. Используйте при ScriptType = InlineScript. Значение по умолчанию: # You can write your azure powershell scripts inline here. \n# You can also pass predefined and custom variables to this script using arguments.

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


ScriptArguments - Аргументы скрипта
string. Необязательный элемент. Используйте при ScriptType = FilePath.

Дополнительные параметры, передаваемые в PowerShell. Это могут быть порядковые или именованные параметры. Неприменимо для параметра встроенного скрипта.


errorActionPreference - ErrorActionPreference
string. Допустимые значения: stop, continue, silentlyContinue. Значение по умолчанию: stop.

Выбирает значение переменной ErrorActionPreference для выполнения скрипта.


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

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


azurePowerShellVersion - Версия Azure PowerShell
Входной псевдоним: TargetAzurePs. string. Допустимые значения: LatestVersion (последняя установленная версия), OtherVersion (укажите другую версию). Значение по умолчанию: OtherVersion.

В случае размещенных агентов поддерживаемыми версиями Azure PowerShell являются 1.0.0, , 1.6.02.3.2, 2.6.0и 3.1.0 (размещенная очередь VS2017). Чтобы выбрать последнюю версию агента, выберите LatestVersion (Последняя установленная версия).

Для частных агентов можно указать предпочтительную версию Azure PowerShell с помощью OtherVersion (укажите другую версию).


preferredAzurePowerShellVersion - Предпочтительная версия Azure PowerShell
Входной псевдоним: CustomTargetAzurePs. string. Требуется при .TargetAzurePs = OtherVersion

Предпочтительная версия Azure PowerShell должна быть правильной семантической версией, например. 1.2.3. Регулярное выражение типа 2.\*,2.3.\* не поддерживается. Размещенный пул VS2017 в настоящее время поддерживает версии 1.0.0модулей Az , , 1.6.02.3.2, 2.6.0и 3.1.0.


pwsh - Использование PowerShell Core
boolean. Значение по умолчанию: false.

Если это так, задачи, выполняемые в агентах Windows, будут использовать pwsh.exe из пути вместо powershell.exe.


validateScriptSignature - Проверка подписи скрипта
boolean. Необязательный элемент. Используйте при ScriptType = FilePath. Значение по умолчанию: false.

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


workingDirectory - Рабочий каталог
string.

Рабочий каталог, в котором выполняется скрипт.


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

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

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

Нет.

Remarks

Устранение неполадок

Сценарий работал локально, но произошел сбой в конвейере

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

Чтобы устранить эту проблему, убедитесь, что у субъекта-службы или учетных данных проверки подлинности есть необходимые разрешения. Дополнительные сведения см. в статье Управление доступом к ресурсам подписки Azure с помощью Role-Based контроль доступа.

Ошибка: не удалось найти модули: "<имя> модуля" с версией "<версия>". Если модуль был недавно установлен, повторите попытку после перезапуска агента задач Azure Pipelines.

Azure PowerShell задача использует модуль Azure/AzureRM/Az PowerShell для взаимодействия с подпиской Azure. Эта проблема возникает, когда модуль PowerShell недоступен в размещенном агенте. Следовательно, для конкретной версии задачи предпочтительная версия Azure PowerShell должна быть указана в параметрах версии Azure PowerShell из списка доступных версий. Установленное программное обеспечение можно найти в таблице Программное обеспечение в размещенных агентах Майкрософт.

Проблемы с подключением службы

Сведения об устранении неполадок, связанных с подключениями к службам, см. в статье Устранение неполадок с подключением службы.

Примеры

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

- 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

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

- 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!'

Требования

Требование Описание
Типы конвейеров YAML, классическая сборка, классический выпуск
Выполняется в Агент, DeploymentGroup
Требования Нет
Capabilities Эта задача не удовлетворяет требованиям для последующих задач в задании.
Ограничения команд Любой
Устанавливаемые переменные Любой
Версия агента 2.115.0 или более поздней версии
Категория задач Развертывание