Private/_LoadSettings.ps1
function _LoadSettings { [CmdletBinding()] [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSUseDeclaredVarsMoreThanAssignments', '', Justification = 'Used by other functions.')] param ( [Parameter(Mandatory = $true)] [string]$File ) try { $Script:STTSettings = (Get-Content $File) -replace ('ObjectGuid', '_ObjectGuid') | ConvertFrom-Json } catch { $MessageSplat = @{ MessageText = 'Unable to load settings.' MessageIcon = 'Hand' ButtonType = 'OK' MessageTitle = 'Error' } _ShowMessageBox @MessageSplat } if ($STTSettings.DCSettings.UseAlternateCredentials) { $Script:ADCredential = Import-Clixml -Path $env:APPDATA\LoganShell\Stored.xml Write-Verbose "Alt Username: $($ADCredential.Username)" $Script:SessionSplat = @{ Credential = $ADCredential } } else { $Script:SessionSplat = @{ } } if ($STTSettings.DCSettings.DomainController) { if ($STTSettings.DCSettings.UseAlternateCredentials) { $Script:GetObjectSplat = @{ Server = $STTSettings.DCSettings.DomainController Credential = $StoredCredential } } else { $Script:GetObjectSplat = @{ Server = $STTSettings.DCSettings.DomainController } } } else { $Script:GetObjectSplat = @{ } } if ($STTSettings.FeatureSettings.WhatsUpGold) { $Script:WUGCredential = Import-Clixml -Path $env:APPDATA\LoganShell\WUG.xml Write-Verbose "WUG Username: $($WUGCredential.Username)" } Write-Verbose ($SessionSplat | ConvertTo-Json) Write-Verbose ($GetObjectSplat | ConvertTo-Json) } |