Private/Get-MacmonFunctionString.ps1
function Get-MacmonFunctionString { <# .EXAMPLE $Params = [ordered]@{ Filter = 'active==true and networkDeviceGroup.name == "Switch"' Fields = 'id,userValues.*.value' Limit = '10' Offset = '2' Sort = 'active,address' } MacmonFunctionString @Params Get-MacmonFunctionString -Filter 'active==true and networkDeviceGroup.name == "Switch"' -Fields 'id,userValues.*.value' -Sort 'active,address' Get-MacmonFunctionString -Filter 'active==true and networkDeviceGroup.name == "Switch"' Get-MacmonFunctionString -Fields 'id,userValues.*.value' -Offset 10 Get-MacmonFunctionString -Offset 0 Get-MacmonFunctionString -Fields '' -Offset 0 #> [CmdletBinding()] param ( [string] $Fields, [string] $Sort, [int] $Limit, [int] $Offset, [string] $Filter, [string] $Format ) begin { } process { foreach ($item in $PSBoundParameters.GetEnumerator()) { if ($item.Value) { if ($item.Value -is [int]) { $Value = ($item.Value).toString() } else { $Value = $item.Value } $FunctionString += ('&{0}={1}' -f $($item.Key).ToLower(), $Value) } } $FunctionString -replace ('^&', '?') } end { } } |