Private/_LoadSettings.ps1

function _LoadSettings {
    [CmdletBinding()]
    [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSUseDeclaredVarsMoreThanAssignments', '', Justification = 'Used by other functions.')]

    param (
        [Parameter(Mandatory = $true)]
        [string]$File
    )
    try {
        $Settings = (Get-Content $File) -replace ('ObjectGuid', '_ObjectGuid') | ConvertFrom-Json
    }
    catch {
        $MessageSplat = @{
            MessageText  = 'Unable to load settings.'
            MessageIcon  = 'Hand'
            ButtonType   = 'OK'
            MessageTitle = 'Error'
        }
        _ShowMessageBox @MessageSplat
    }
    return $Settings
}