lib/core/framework/Invoke-IcingaNamespaceCmdlets.psm1
function Invoke-IcingaNamespaceCmdlets() { param ( [string]$Command ); [Hashtable]$CommandConfig = @{}; if ($Command.Contains('*') -eq $FALSE) { $Command = [string]::Format('{0}*', $Command); } $CommandList = Get-Command $Command; foreach ($Cmdlet in $CommandList) { try { $CmmandName = $Cmdlet.Name; Import-Module $Cmdlet.Module.Path -WarningAction SilentlyContinue -ErrorAction Stop; $Content = (& $CmmandName); Add-IcingaHashtableItem -Hashtable $CommandConfig ` -Key $Cmdlet.Name ` -Value $Content | Out-Null; } catch { # TODO: Add event log logging on exceptions } } return $CommandConfig; } |