icinga-powershell-framework/lib/core/framework/Invoke-IcingaNamespaceCmdlets.psm1

32 lines
791 B
PowerShell
Raw Normal View History

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 {
2021-08-17 03:22:05 -04:00
$CommandName = $Cmdlet.Name;
Import-Module $Cmdlet.Module.Path -WarningAction SilentlyContinue -ErrorAction Stop;
2021-08-17 03:22:05 -04:00
$Content = (& $CommandName);
Add-IcingaHashtableItem `
-Hashtable $CommandConfig `
-Key $Cmdlet.Name `
-Value $Content | Out-Null;
} catch {
# TODO: Add event log logging on exceptions
}
}
return $CommandConfig;
}