diff --git a/lib/icinga/exception/Exit-IcingaThrowCritical.psm1 b/lib/icinga/exception/Exit-IcingaThrowCritical.psm1 index 33ff956..c3e2fcb 100644 --- a/lib/icinga/exception/Exit-IcingaThrowCritical.psm1 +++ b/lib/icinga/exception/Exit-IcingaThrowCritical.psm1 @@ -25,8 +25,13 @@ function Exit-IcingaThrowCritical() Set-IcingaInternalPluginExitCode -ExitCode $IcingaEnums.IcingaExitCode.Critical; Set-IcingaInternalPluginException -PluginException $OutputMessage; - if ($Global:Icinga.Protected.RunAsDaemon -eq $FALSE -And $Global:Icinga.Protected.JEAContext -eq $FALSE) { - Write-IcingaConsolePlain $OutputMessage; - exit $IcingaEnums.IcingaExitCode.Critical; + if ($Global:Icinga.Protected.RunAsDaemon -eq $TRUE -Or $Global:Icinga.Protected.JEAContext -eq $TRUE) { + throw $OutputMessage; + + # Just in case we don't end - shouldn't happen anyway + return; } + + Write-IcingaConsolePlain $OutputMessage; + exit $IcingaEnums.IcingaExitCode.Critical; } diff --git a/lib/icinga/exception/Exit-IcingaThrowException.psm1 b/lib/icinga/exception/Exit-IcingaThrowException.psm1 index e4e203d..90c81b7 100644 --- a/lib/icinga/exception/Exit-IcingaThrowException.psm1 +++ b/lib/icinga/exception/Exit-IcingaThrowException.psm1 @@ -110,10 +110,13 @@ function Exit-IcingaThrowException() Set-IcingaInternalPluginExitCode -ExitCode $IcingaEnums.IcingaExitCode.Unknown; Set-IcingaInternalPluginException -PluginException $OutputMessage; - if ($Global:Icinga.Protected.RunAsDaemon -eq $FALSE -And $Global:Icinga.Protected.JEAContext -eq $FALSE) { - Write-IcingaConsolePlain $OutputMessage; - exit $IcingaEnums.IcingaExitCode.Unknown; - } else { + if ($Global:Icinga.Protected.RunAsDaemon -eq $TRUE -Or $Global:Icinga.Protected.JEAContext -eq $TRUE) { throw $OutputMessage; + + # Just in case we don't end - shouldn't happen anyway + return; } + + Write-IcingaConsolePlain $OutputMessage; + exit $IcingaEnums.IcingaExitCode.Unknown; }