1
私はAzureに影響を与えるためにVSTSを通してPowershellでコマンドを実行しています。コマンドは機能しますが、後にエラーが発生します。 paramsと接続は、グループがコマンドから許可を得ていることからもわかります。回避策は、tryブロックにコマンドを置き、実行させてから、エラーが発生したときにcatchブロックに行き、エラーをスローせずに終了することです。Powershell tryブロックがVSTSビルドで動作しない
このスクリプトを実行すると、tryブロックが無視されるのと同じエラーが表示されます。構文が間違っていますか?
Try
{
New-AzureRmRoleAssignment -ObjectId "xxxx" -RoleDefinitionName $roleName -ResourceGroupName pentest-$featureName
}
Catch
{
Write-Output "Whoops"
}
編集:私は、tryブロックの前に$ErrorActionPreference = "Stop"
を追加し、それが適切にエラーをキャッチ。
'$ ErrorActionPreference'の値を確認してください。 'Stop'でなければ、' catch'は実行されません。それが問題なのかどうか私たちにお知らせください。私はより完全な回答を書くつもりです。いくつかのコマンドレットでは、極端な手順をとることなく「キャッチ」しない場合もあります。引数 '-ErrorAction Stop'を明示的に追加することで、コマンドごとに目的の結果が得られます。 –
ビルドサーバーを確認しましたが、続行しています – user3364161