Powershell尝试阻止无法使用VSTS构建

时间:2017-09-05 17:01:44

标签: powershell azure try-catch

我在Powershell中通过VSTS运行命令来影响Azure。该命令有效,但之后会出错。 params和连接正在工作,因为该组获得了命令的许可。我想一个解决方法是将命令放在try块中,让它运行,然后当出现错误时转到catch块并结束而不会抛出错误。

当我运行这个脚本时,我仍然会得到相同的错误,就像忽略了try块一样。我的语法有错吗?

Try
{
    New-AzureRmRoleAssignment -ObjectId "xxxx" -RoleDefinitionName $roleName -ResourceGroupName pentest-$featureName
}
Catch 
{
    Write-Output "Whoops"
}

编辑:我在try-block之前添加了$ErrorActionPreference = "Stop",它正确捕获了错误。

1 个答案:

答案 0 :(得分:0)

由于错误的$ErrorActionPreference,忽略了try块。将其改为"继续"到"停止"修好了。