icinga-powershell-framework/lib/icinga/plugin/Exit-IcingaExecutePlugin.psm1
2021-02-24 12:49:37 +01:00

23 lines
648 B
PowerShell

function Exit-IcingaExecutePlugin()
{
param (
[string]$Command = ''
);
Exit-IcingaPluginNotInstalled -Command $Command;
Invoke-IcingaInternalServiceCall -Command $Command -Arguments $args;
try {
# Load the entire framework now, as we require to execute plugins locally
if ($null -eq $global:IcingaDaemonData) {
Use-Icinga;
}
exit (& $Command @args);
} catch {
$ExMsg = $_.Exception.Message;
Write-IcingaConsolePlain '[UNKNOWN]: {0}{1}{1}CheckCommand: {2}{1}Arguments: {3}' -Objects $ExMsg, (New-IcingaNewLine), $Command, $args;
exit 3;
}
}