icinga-powershell-framework/lib/core/installer/tools/CustomConfig.psm1

36 lines
1.1 KiB
PowerShell
Raw Normal View History

function Invoke-IcingaForWindowsManagementConsoleCustomConfig()
{
param (
[hashtable]$IcingaConfiguration = @{ }
);
foreach ($cmd in $IcingaConfiguration.Keys) {
$cmdConfig = $IcingaConfiguration[$cmd];
if ($cmd.Contains(':')) {
continue;
}
$cmdArguments = @{
'Automated' = $TRUE;
}
if ($cmdConfig.ContainsKey('Values') -And $null -ne $cmdConfig.Values) {
$cmdArguments.Add('Value', $cmdConfig.Values)
}
if ($cmdConfig.ContainsKey('Selection') -And $null -ne $cmdConfig.Selection) {
$cmdArguments.Add('DefaultInput', $cmdConfig.Selection)
}
try {
&$cmd @cmdArguments;
} catch {
Enable-IcingaFrameworkConsoleOutput;
Write-IcingaConsoleError 'Failed to apply installation configuration of command "{0}" and argument list{1}because of the following error: "{2}"' -Objects $cmd, ($cmdArguments | Out-String), $_.Exception.Message;
return $FALSE;
}
}
return $TRUE;
}