Private/Options/_OnOptionsSourceInitialized.ps1
function _OnOptionsSourceInitialized { $Options_ModuleVersionLabel.Content = "Module Version: $($Module.Version)" $Script:SettingsSaved = $false #region Entra ID $Options_EntraIDCheckBox.IsChecked = $STTSettings.FeatureSettings.Entra $Options_EntraTenantTextBox.Text = $STTSettings.EntraSettings.TenantURL $Options_ConnectServerTextBox = $STTSettings.EntraSettings.EntraConnectServer if ($Options_EntraIDCheckBox.IsChecked) { $Options_EntraTenantTextBox.Visibility = 'Visible' $Options_ConnectServerTextBox.Visibility = 'Visible' $Options_EntraTenantURLTextBlock.Visibility = 'Visible' $Options_EntraConnectServerTextBlock.Visibility = 'Visible' } else { $Options_EntraTenantTextBox.Visibility = 'Collapsed' $Options_ConnectServerTextBox.Visibility = 'Collapsed' $Options_EntraTenantURLTextBlock.Visibility = 'Collapsed' $Options_EntraConnectServerTextBlock.Visibility = 'Collapsed' } #endregion #region Modules $ModulesToSearch = @('MSOnline', 'ExchangeOnlineManagement') $RequiredModules = Get-InstalledModule -Name $ModulesToSearch -ErrorAction SilentlyContinue $Object = @() if ($RequiredModules) { $Object += [PSCustomObject]$RequiredModules | Select-Object Name, Version, Repository, Description } else { $Object += [PSCustomObject]@{ Error = 'Error getting modules. Verify they are installed.' } } $Options_InstalledModulesDataGrid.ItemsSource = $Object #endregion #region DC Settings $DCs = Get-ADDomainController @GetObjectSplat -Filter * foreach ($DC in $DCs) { $Options_DCComboBox.Items.Add($DC.HostName) } $Options_DCComboBox.Text = $STTSettings.DCSettings.DomainController $Options_CredentialsAlternateCheckBox.IsChecked = $STTSettings.DCSettings.UseAlternateCredentials if ($Options_CredentialsAlternateCheckBox.IsChecked) { $Options_UsernameTextBlock.Visibility = 'Visible' $Options_CredentialsUsernameTextBox.Visibility = 'Visible' $Options_PasswordTextBlock.Visibility = 'Visible' $Options_CredentialsPasswordPasswordBox.Visibility = 'Visible' } else { $Options_UsernameTextBlock.Visibility = 'Collapsed' $Options_CredentialsUsernameTextBox.Visibility = 'Collapsed' $Options_PasswordTextBlock.Visibility = 'Collapsed' $Options_CredentialsPasswordPasswordBox.Visibility = 'Collapsed' } if ($ADCredential) { $Options_CredentialsUsernameTextBox.Text = $ADCredential.Username $Options_CredentialsPasswordPasswordBox.Password = "You can't read this." } #endregion #region SCCM $Options_SCCMIntegrationCheckBox.IsChecked = $STTSettings.FeatureSettings.SCCM $Options_SCCMServerTextBox.Text = $STTSettings.SCCMSettings.SCCMServerHostname if ($Options_SCCMIntegrationCheckBox.IsChecked) { $Options_SCCMServerTextBox.Visibility = 'Visible' $Options_SCCMCollectionComboBox.Visibility = 'Visible' $Options_SCCMServerTextBlock.Visibility = 'Visible' $Options_DefaultCollectionTextBlock.Visibility = 'Visible' try { $SCCMCollections = _GetSCCMInformationQuerySTT -Route wmi -Connector 'SMS_Collection' | Sort-Object } catch { $Options_SavingTextBlock.Text = 'Unable to get collections from SCCM. Verify that you have permissions to read SCCM.' } if ($SCCMCollections) { foreach ($Collection in $($SCCMCollections | Sort-Object Name)) { $Options_SCCMCollectionComboBox.Items.Add($Collection.Name) } $Options_SCCMCollectionComboBox.SelectedItem = $STTSettings.SCCMSettings.SCCMDefaultCollection } else { $Options_SCCMCollectionComboBox.Text = 'Unable to load.' } } else { $Options_SCCMServerTextBox.Visibility = 'Collapsed' $Options_SCCMCollectionComboBox.Visibility = 'Collapsed' $Options_SCCMServerTextBlock.Visibility = 'Collapsed' $Options_DefaultCollectionTextBlock.Visibility = 'Collapsed' } #endregion #region Exchange on-premise $Options_ExchangeIntegrationCheckBox.IsChecked = $STTSettings.FeatureSettings.Exchange #endregion #region Theme switch ($STTSettings.Theme) { 'Dark' { $Options_DarkThemeRadioButton.IsChecked = $true } 'Light' { $Options_LightThemeRadioButton.IsChecked = $true } 'Violet' { $Options_VioletThemeRadioButton.IsChecked = $true } Default { } } #endregion #region WhatsUpGold $Options_WUGIntegrationCheckBox.IsChecked = $STTSettings.FeatureSettings.WhatsUpGold if ($Options_WUGIntegrationCheckBox.IsChecked) { $Options_WUGServerTextBlock.Visibility = 'Visible' $Options_WUGServerTextBox.Visibility = 'Visible' $Options_WUGUsernameTextBlock.Visibility = 'Visible' $Options_WUGCredentialsUsernameTextBox.Visibility = 'Visible' $Options_WUGPasswordTextBlock.Visibility = 'Visible' $Options_WUGCredentialsPasswordPasswordBox.Visibility = 'Visible' } else { $Options_WUGServerTextBlock.Visibility = 'Collapsed' $Options_WUGServerTextBox.Visibility = 'Collapsed' $Options_WUGUsernameTextBlock.Visibility = 'Collapsed' $Options_WUGCredentialsUsernameTextBox.Visibility = 'Collapsed' $Options_WUGPasswordTextBlock.Visibility = 'Collapsed' $Options_WUGCredentialsPasswordPasswordBox.Visibility = 'Collapsed' } if ($WUGCredential) { $Options_WUGCredentialsUsernameTextBox.Text = $WUGCredential.Username $Options_WUGCredentialsPasswordPasswordBox.Password = "You can't read this." } #endregion #region Stored Objects $Options_ObjectCacheTextBox.Text = $STTSettings.ObjectsSettings.ObjectStorageFolder #endregion } |