AzurePowerShell@5 - v5 タスクのAzure PowerShell
このタスクを使用して、Azure 環境内で PowerShell スクリプトを実行します。 Azure コンテキストは、指定された Azure Resource Manager サービス接続で認証されます。
注意
既定では、Azure PowerShell v5 では Linux エージェント用の PowerShell Core と Windows エージェント用のWindows PowerShellが使用されます。 Windows エージェントで最新バージョンの PowerShell を使用するには、 パラメーターを 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
. 必須です。
PowerShell を実行する前に構成する Azure Resource Manager サブスクリプション。
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
。
実行するスクリプトを指定します。 サポートされているインライン スクリプトの最大長は 5,000 文字です。 より長いスクリプトを使用する場合は、ファイルのスクリプトを使用します。
ScriptArguments
- スクリプト引数
string
. 省略可能。 の場合は ScriptType = FilePath
を使用します。
PowerShell に渡す追加のパラメーター。 これらは、序数パラメーターまたは名前付きパラメーターのいずれかです。 インライン スクリプト オプションには適用されません。
errorActionPreference
- ErrorActionPreference
string
. 許可値: stop
、continue
、silentlyContinue
。 既定値: stop
。
スクリプトを実行するための変数の ErrorActionPreference
値を選択します。
FailOnStandardError
- 標準エラー時に失敗する
boolean
. 既定値: false
。
これが true の場合、エラーがエラー パイプラインに書き込まれた場合、または標準エラー ストリームにデータが書き込まれた場合、このタスクは失敗します。
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
. のような 2.\*,2.3.\*
正規表現はサポートされていません。 現在、ホストされている VS2017 プールでは、Az モジュール の1.0.0
バージョン 、、2.3.2
1.6.0
、2.6.0
、および 3.1.0
がサポートされています。
pwsh
- PowerShell Core を使用する
boolean
. 既定値: false
。
これが true の場合、Windows エージェントで実行されているタスクでは、 ではなくpowershell.exe
パスから が使用pwsh.exe
されます。
validateScriptSignature
- スクリプト署名を検証する
boolean
. 省略可能。 の場合は ScriptType = FilePath
を使用します。 既定値: false
。
これが true の場合、タスクは最初にチェックして、指定したスクリプトが署名され、実行前に有効であることを確認します。
workingDirectory
- 作業ディレクトリ
string
.
スクリプトが実行される作業ディレクトリ。
タスク制御オプション
すべてのタスクには、タスク入力に加えて制御オプションがあります。 詳細については、「 コントロール オプションと一般的なタスク プロパティ」を参照してください。
出力変数
[なし] :
解説
トラブルシューティング
スクリプトはローカルで動作しましたが、パイプラインで失敗しました
これは通常、パイプラインで使用されるサービス接続にスクリプトを実行するためのアクセス許可が不十分な場合に発生します。 ローカルでは、スクリプトは資格情報を使用して実行され、必要なアクセス権を持っている可能性があるため、成功します。
この問題を解決するには、サービスプリンシパル/認証資格情報に必要なアクセス許可があることを確認します。 詳細については、「Role-Based Access Controlを使用して Azure サブスクリプション リソースへのアクセスを管理する」を参照してください。
エラー: 'module name>' と Version: '<version>' のモジュールが<見つかりませんでした。 モジュールが最近インストールされた場合は、Azure Pipelines タスク エージェントを再起動した後に再試行します
Azure PowerShell タスクでは、Azure/AzureRM/Az PowerShell モジュールを使用して Azure サブスクリプションと対話します。 この問題は、PowerShell モジュールがホステッド エージェントで使用できない場合に発生します。 そのため、特定のタスク バージョンの場合は、使用可能なバージョンの一覧のAzure PowerShellバージョン オプションで優先Azure PowerShellバージョンを指定する必要があります。 インストールされているソフトウェアは、Microsoft ホスト型エージェントのソフトウェア テーブルにあります。
サービス接続の問題
サービス接続に関連する問題のトラブルシューティングについては、「 サービス接続のトラブルシューティング」を参照してください。
例
次の例は、ファイルからスクリプトを呼び出し、それにスクリプト引数を渡す方法を示しています。
- 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 | このタスクは、ジョブ内の後続のタスクに対する要求を満たしていません。 |
コマンドの制限 | Any |
設定可能な変数 | Any |
エージェントのバージョン | 2.115.0 以上 |
タスクのカテゴリ | 配置 |