Private/New-PerformanceCountersFromJson.ps1
function New-PerformanceCountersFromJson { [CmdletBinding()] [OutputType([PerformanceCounter[]])] param( [Parameter(Mandatory=$true)] [PSCustomObject] $JsonConfig ) $PerformanceCounters = @() foreach ( $CounterConfig in $JsonConfig.counters ) { # Create PerformanceCounter Instance $Counter = [PerformanceCounter]::new( $CounterConfig.counterID, $CounterConfig.counterSetType, $CounterConfig.counterInstance, $CounterConfig.title, $CounterConfig.type, $CounterConfig.format, $CounterConfig.unit, $CounterConfig.conversionFactor, $CounterConfig.conversionExponent, $CounterConfig.colorMap, $CounterConfig.graphConfiguration ) $PerformanceCounters += $Counter } return $PerformanceCounters } |