Private/Get-PerformanceConfig.ps1
function Get-PerformanceConfig { [CmdletBinding()] [OutputType([hashtable])] param( [Parameter(Mandatory=$true)] [string] $ConfigName, [Parameter(Mandatory=$false)] [array] $ConfigPath = @($(Join-Path $PSScriptRoot "..\Config")) ) try { $JsonConfig = Get-ConfigurationFromJson -ConfigName $ConfigName -ConfigPath $ConfigPath[0] # prepared for multiple paths in the future $Counters = New-PerformanceCountersFromJson -JsonConfig $JsonConfig return @{ Name = $JsonConfig.name Description = $JsonConfig.description Counters = $Counters } } catch { throw "Error loading performance configuration '$ConfigName': $($_.Exception.Message)" } } |