public/Get-SpeedTestConfig.ps1
<# .SYNOPSIS Get the default server configurations for Internet and Local speed test servers. .DESCRIPTION Get the default server configurations for Internet and Local speed test servers. If '-PassThru' is used, converts the JSON configuration file into a PSCustomObject. .EXAMPLE Get-SpeedTestConfig .EXAMPLE Get-SpeedTestConfig -PassThru #> function Get-SpeedTestConfig { [CmdletBinding()] Param() try { Write-Verbose -Message "Getting content of config.json and returning as a PSCustomObject." $config = Get-Content -Path "$($PSScriptRoot | Split-Path -Parent)\config.json" -ErrorAction "Stop" | ConvertFrom-Json $config = [PSCustomObject] @{ DefaultInternetServer = $config.defaultInternetServer.defaultServer; DefaultInternetPort = $config.defaultInternetServer.defaultPort; DefaultLocalServer = $config.defaultLocalServer.defaultServer; DefaultLocalPort = $config.defaultLocalServer.defaultPort; } return $config } catch { throw "Can't find the JSON configuration file. Use 'Set-SpeedTestConfig' to create one." } } |