Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Используйте эту задачу для запуска скрипта 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.
Выражения шаблонов можно использовать для указания входных данных подключения службы. В следующем примере azureSubscription создается с помощью строки формата и выражения на основе переменной environmentName.
pool:
vmImage: ubuntu-latest
variables:
# Format string for the service connection
azureSubscriptionFormat: 'connectionString-{0}-001'
stages:
- stage: Prepare
variables:
environmentName: 'test'
# Stage level variable with the service connection name
# Evaluates to conenctionString-test-001
azureSubscription: ${{ format(variables.azureSubscriptionFormat, variables.environmentName) }}
jobs:
- job: RunStuff
steps:
- task: AzureCLI@2
inputs:
# Set this input to the computed value
azureSubscription: ${{ variables.azureSubscription }}
scriptType: bash
scriptLocation: inlineScript
inlineScript: 'echo Hello ${{ variables.azureSubscription }}'
- task: AzurePowerShell@5
inputs:
# Set this input to the computed value
azureSubscription: ${{ variables.azureSubscription }}
azurePowerShellVersion: 'LatestVersion'
scriptType: 'InlineScript'
inline: Write-Host "Hello ${{ variables.azureSubscription }}"
типа скрипта 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 (Предпочтения ErrorAction)
string. Допустимые значения: stop, continue, silentlyContinue. Значение по умолчанию: stop.
Выбирает значение переменной ErrorActionPreference для выполнения скрипта.
FailOnStandardError
-
сбой стандартной ошибки
boolean. Значение по умолчанию: false.
Если это верно, эта задача завершится ошибкой, если какие-либо ошибки записываются в конвейер ошибок или если данные записываются в стандартный поток ошибок.
azurePowerShellVersion
-
версии Azure PowerShell
Псевдоним ввода: TargetAzurePs.
string. Допустимые значения: LatestVersion (последняя установленная версия), OtherVersion (укажите другую версию). Значение по умолчанию: OtherVersion.
В случае размещенных агентов поддерживаемые версии Azure PowerShell 1.0.0, 1.6.0, 2.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. Regex, например 2.\*,2.3.\*, не поддерживается. В настоящее время размещенный пул VS2017 поддерживает версии модулей Az 1.0.0, 1.6.0, 2.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.
Рабочий каталог, в котором выполняется скрипт.
Параметры управления задачами
Помимо входных данных, все задачи имеют параметры управления. Дополнительные сведения см. в разделе Параметры управления и общие свойства задач.
Выходные переменные
Нет.
Замечания
Устранение неполадок
Скрипт работал локально, но произошел сбой в конвейере.
Обычно это происходит, когда подключение службы, используемое в конвейере, имеет недостаточно разрешений для запуска скрипта. Локально скрипт запускается с вашими учетными данными и будет успешным, если у вас есть необходимый доступ.
Чтобы устранить эту проблему, убедитесь, что у учетных данных субъекта-службы или проверки подлинности есть необходимые разрешения. Дополнительные сведения см. в статье Использование управления доступом на основе ролей для контроля доступа к ресурсам в подписке Azure
Ошибка. Не удалось найти модули: '<имя модуля>' с версией: '<версии>'. Если модуль был недавно установлен, повторите попытку после перезапуска агента задач 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 |
| требования | Нет |
| возможностей | Эта задача не удовлетворяет требованиям к последующим задачам в задании. |
| ограничения команд | Любое |
| переменные settable | Любое |
| Версия агента | 2.115.0 или более поздней версии |
| Категория задач | Внедрять |