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 } |