# Using configuration file for most of the settings $ConfigFile="${PSScriptRoot}/../Data/config.json" $Config=(Get-Content -Path $ConfigFile|ConvertFrom-Json).AppConfig #Load Configuration File as Variables $ConfigVars=($Config | Get-Member -Membertype Noteproperty).Name ForEach ($ConfigVar in $ConfigVars) { Set-Variable -Name $ConfigVar -Value $Config.${ConfigVar}.Value } #Remove temporary variables we don't need to reused thse Remove-Variable -Name Config,ConfigFile,ConfigVar,ConfigVars $TimeZone=(timezone).id # We need to declare the fields for syncing. $SyncFields = @("Admins", "AgencyName","App","City","Cluster","Environment","SRM_Request","SRM_Status","SupportHours","TeamLead","VLAN","VMHost" ) $SNSyncFields=@("Environment","AgencyName") #Default before set $VerbosePreference = "SilentlyContinue" $InformationPreference = "SilentlyContinue" $DebugPreference = "SilentlyContinue" # Sets logging levels for cmdlets. Switch ($VerboseLevel) { 0 { $VerbosePreference = "SilentlyContinue" } 1 { $VerbosePreference = "Continue" } 2 { $VerbosePreference = "Continue" ; $InformationPreference = "Continue" } 3 { $VerbosePreference = "Continue" ; $InformationPreference = "Continue"; $DebugPreference = "Continue" } } # Overrides email SNMPTO if ($TestMode -eq $True) { Write-Information "Test Mode - On" $SNMPTo = $TestModeAdmin }