2021-02-19 04:09:42 -05:00
function Invoke-IcingaForWindowsManagementConsoleCustomConfig ( )
{
param (
[ hashtable ] $IcingaConfiguration = @ { }
) ;
foreach ( $cmd in $IcingaConfiguration . Keys ) {
$cmdConfig = $IcingaConfiguration [ $cmd ] ;
if ( $cmd . Contains ( ':' ) ) {
2021-09-24 04:21:44 -04:00
continue ;
2021-02-19 04:09:42 -05:00
}
$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 )
}
2021-09-24 04:21:44 -04:00
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 ;
}
2021-02-19 04:09:42 -05:00
}
2021-09-24 04:21:44 -04:00
return $TRUE ;
2021-02-19 04:09:42 -05:00
}