Private/_LoadSettings.ps1

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

    param (
    )
    try {
        if (Test-Path -Path $env:APPDATA\PSNetBox\Server.xml -ErrorAction Stop) {
            $Settings = Import-Clixml -Path $env:APPDATA\PSNetBox\Server.xml
            $Output = [PSCustomObject]@{
                Hostname = $Settings.Username
                APIToken = (New-Object PSCredential 0, $Settings.Password).GetNetworkCredential().Password
            }
        } else {
            Write-Error "Be sure to run New-NetBoxCredential before querying the NetBox API."
        }
    }
    catch {
        Write-Error "Unable to load settings. $_"
    }
    return $Output
}