Это утверждение нарушено:
$Result = New-AzureRmRoleAssignment -ObjectId $objectid -
RoleDefinitionName Reader -ResourceGroupName $resourceGroupName
Это должно выглядеть так:
$Result = New-AzureRmRoleAssignment -ObjectId $objectid -RoleDefinitionName Reader -ResourceGroupName $resourceGroupName
Кроме того, согласно документации New-AzureRmRoleAssignment
возвращает объект PSRoleAssignment
, который не имеет свойства ExitCode
, и вы не проверяете так или иначе статус командлетов. PowerShell имеет логическую автоматическую переменную $?
, которая указывает, был ли последний вызов командлета успешным или нет, поэтому ваш код должен выглядеть следующим образом:
$Result = New-AzureRmRoleAssignment -ObjectId $objectid -RoleDefinitionName Reader -ResourceGroupName $resourceGroupName
if ($?) {
# Return role result
Write-Output '{ "roleResult" : "Role assigned successfully" }'
} else {
exit 1
}