private void BindSettings(RdsServerSettings settings) { var setting = GetServerSetting(settings, RdsServerSettings.LOCK_SCREEN_TIMEOUT); if (setting != null) { ddTimeout.SelectedValue = setting.PropertyValue; cbTimeoutAdministrators.Checked = setting.ApplyAdministrators; cbTimeoutUsers.Checked = setting.ApplyUsers; } SetCheckboxes(settings, RdsServerSettings.REMOVE_RUN_COMMAND, cbRunCommandAdministrators, cbRunCommandUsers); SetCheckboxes(settings, RdsServerSettings.REMOVE_POWERSHELL_COMMAND, cbPowershellAdministrators, cbPowershellUsers); SetCheckboxes(settings, RdsServerSettings.HIDE_C_DRIVE, cbHideCDriveAdministrators, cbHideCDriveUsers); SetCheckboxes(settings, RdsServerSettings.REMOVE_SHUTDOWN_RESTART, cbShutdownAdministrators, cbShutdownUsers); SetCheckboxes(settings, RdsServerSettings.DISABLE_TASK_MANAGER, cbTaskManagerAdministrators, cbTaskManagerUsers); SetCheckboxes(settings, RdsServerSettings.CHANGE_DESKTOP_DISABLED, cbDesktopAdministrators, cbDesktopUsers); SetCheckboxes(settings, RdsServerSettings.SCREEN_SAVER_DISABLED, cbScreenSaverAdministrators, cbScreenSaverUsers); SetCheckboxes(settings, RdsServerSettings.RDS_VIEW_WITHOUT_PERMISSION, cbViewSessionAdministrators, cbViewSessionUsers); SetCheckboxes(settings, RdsServerSettings.RDS_CONTROL_WITHOUT_PERMISSION, cbControlSessionAdministrators, cbControlSessionUsers); SetCheckboxes(settings, RdsServerSettings.DISABLE_CMD, cbDisableCmdAdministrators, cbDisableCmdUsers); setting = GetServerSetting(settings, RdsServerSettings.DRIVE_SPACE_THRESHOLD); if (setting != null) { ddTreshold.SelectedValue = setting.PropertyValue; } }
private void SetCheckboxes(RdsServerSettings settings, string settingName, CheckBox cbAdministrators, CheckBox cbUsers) { var setting = GetServerSetting(settings, settingName); if (setting != null) { cbAdministrators.Checked = setting.ApplyAdministrators; cbUsers.Checked = setting.ApplyUsers; } }
public void ApplyGPO(string organizationId, string collectionName, RdsServerSettings serverSettings) { try { Log.WriteStart("'{0}' ApplyGPO", ProviderSettings.ProviderName); RDSProvider.ApplyGPO(organizationId, collectionName, serverSettings); Log.WriteEnd("'{0}' ApplyGPO", ProviderSettings.ProviderName); } catch (Exception ex) { Log.WriteError(String.Format("'{0}' ApplyGPO", ProviderSettings.ProviderName), ex); throw; } }
public static string GetSettingsXml(RdsServerSettings settings) { XmlDocument doc = new XmlDocument(); XmlElement nodeProps = doc.CreateElement("properties"); if (settings != null) { foreach (var setting in settings.Settings) { XmlElement nodeProp = doc.CreateElement("property"); nodeProp.SetAttribute("name", setting.PropertyName); nodeProp.SetAttribute("value", setting.PropertyValue); nodeProp.SetAttribute("applyUsers", setting.ApplyUsers ? "1" : "0"); nodeProp.SetAttribute("applyAdministrators", setting.ApplyAdministrators ? "1" : "0"); nodeProps.AppendChild(nodeProp); } } return(nodeProps.OuterXml); }
private RdsServerSetting GetServerSetting(RdsServerSettings settings, string propertyName) { return(settings.Settings.FirstOrDefault(s => s.PropertyName.Equals(propertyName))); }
private RdsServerSettings GetSettings() { var settings = new RdsServerSettings(); settings.Settings.Add(new RdsServerSetting { PropertyName = RdsServerSettings.LOCK_SCREEN_TIMEOUT, PropertyValue = ddTimeout.SelectedValue, ApplyAdministrators = cbTimeoutAdministrators.Checked, ApplyUsers = cbTimeoutUsers.Checked }); settings.Settings.Add(new RdsServerSetting { PropertyName = RdsServerSettings.REMOVE_RUN_COMMAND, PropertyValue = "", ApplyAdministrators = cbRunCommandAdministrators.Checked, ApplyUsers = cbRunCommandUsers.Checked }); settings.Settings.Add(new RdsServerSetting { PropertyName = RdsServerSettings.REMOVE_POWERSHELL_COMMAND, PropertyValue = "", ApplyAdministrators = cbPowershellAdministrators.Checked, ApplyUsers = cbPowershellUsers.Checked }); settings.Settings.Add(new RdsServerSetting { PropertyName = RdsServerSettings.HIDE_C_DRIVE, PropertyValue = ddHideCDrive.SelectedValue, ApplyAdministrators = cbHideCDriveAdministrators.Checked, ApplyUsers = cbHideCDriveUsers.Checked }); settings.Settings.Add(new RdsServerSetting { PropertyName = RdsServerSettings.REMOVE_SHUTDOWN_RESTART, PropertyValue = "", ApplyAdministrators = cbShutdownAdministrators.Checked, ApplyUsers = cbShutdownUsers.Checked }); settings.Settings.Add(new RdsServerSetting { PropertyName = RdsServerSettings.DISABLE_TASK_MANAGER, PropertyValue = "", ApplyAdministrators = cbTaskManagerAdministrators.Checked, ApplyUsers = cbTaskManagerUsers.Checked }); settings.Settings.Add(new RdsServerSetting { PropertyName = RdsServerSettings.CHANGE_DESKTOP_DISABLED, PropertyValue = "", ApplyAdministrators = cbDesktopAdministrators.Checked, ApplyUsers = cbDesktopUsers.Checked }); settings.Settings.Add(new RdsServerSetting { PropertyName = RdsServerSettings.SCREEN_SAVER_DISABLED, PropertyValue = "", ApplyAdministrators = cbScreenSaverAdministrators.Checked, ApplyUsers = cbScreenSaverUsers.Checked }); settings.Settings.Add(new RdsServerSetting { PropertyName = RdsServerSettings.DRIVE_SPACE_THRESHOLD, PropertyValue = ddTreshold.SelectedValue, ApplyAdministrators = true, ApplyUsers = true }); settings.Settings.Add(new RdsServerSetting { PropertyName = RdsServerSettings.RDS_VIEW_WITHOUT_PERMISSION, PropertyValue = "", ApplyAdministrators = cbViewSessionAdministrators.Checked, ApplyUsers = cbViewSessionUsers.Checked }); settings.Settings.Add(new RdsServerSetting { PropertyName = RdsServerSettings.RDS_CONTROL_WITHOUT_PERMISSION, PropertyValue = "", ApplyAdministrators = cbControlSessionAdministrators.Checked, ApplyUsers = cbControlSessionUsers.Checked }); settings.Settings.Add(new RdsServerSetting { PropertyName = RdsServerSettings.DISABLE_CMD, PropertyValue = "", ApplyAdministrators = cbDisableCmdAdministrators.Checked, ApplyUsers = cbDisableCmdUsers.Checked }); return(settings); }
public int UpdateRdsServerSettings(int serverId, string settingsName, RdsServerSettings settings) { return(RemoteDesktopServicesController.UpdateRdsServerSettings(serverId, settingsName, settings)); }
public static RdsServerSettings GetDefaultGpoSettings() { var defaultSettings = UserController.GetUserSettings(SecurityContext.User.UserId, UserSettings.RDS_POLICY); var settings = new RdsServerSettings(); settings.Settings.Add(new RdsServerSetting { PropertyName = RdsServerSettings.LOCK_SCREEN_TIMEOUT, PropertyValue = defaultSettings[RdsServerSettings.LOCK_SCREEN_TIMEOUT_VALUE], ApplyAdministrators = Convert.ToBoolean(defaultSettings[RdsServerSettings.LOCK_SCREEN_TIMEOUT_ADMINISTRATORS]), ApplyUsers = Convert.ToBoolean(defaultSettings[RdsServerSettings.LOCK_SCREEN_TIMEOUT_USERS]) }); settings.Settings.Add(new RdsServerSetting { PropertyName = RdsServerSettings.REMOVE_RUN_COMMAND, PropertyValue = "", ApplyAdministrators = Convert.ToBoolean(defaultSettings[RdsServerSettings.REMOVE_RUN_COMMAND_ADMINISTRATORS]), ApplyUsers = Convert.ToBoolean(defaultSettings[RdsServerSettings.REMOVE_RUN_COMMAND_USERS]) }); settings.Settings.Add(new RdsServerSetting { PropertyName = RdsServerSettings.REMOVE_POWERSHELL_COMMAND, PropertyValue = "", ApplyAdministrators = Convert.ToBoolean(defaultSettings[RdsServerSettings.REMOVE_POWERSHELL_COMMAND_ADMINISTRATORS]), ApplyUsers = Convert.ToBoolean(defaultSettings[RdsServerSettings.REMOVE_POWERSHELL_COMMAND_USERS]) }); settings.Settings.Add(new RdsServerSetting { PropertyName = RdsServerSettings.HIDE_C_DRIVE, PropertyValue = "", ApplyAdministrators = Convert.ToBoolean(defaultSettings[RdsServerSettings.HIDE_C_DRIVE_ADMINISTRATORS]), ApplyUsers = Convert.ToBoolean(defaultSettings[RdsServerSettings.HIDE_C_DRIVE_USERS]) }); settings.Settings.Add(new RdsServerSetting { PropertyName = RdsServerSettings.REMOVE_SHUTDOWN_RESTART, PropertyValue = "", ApplyAdministrators = Convert.ToBoolean(defaultSettings[RdsServerSettings.REMOVE_SHUTDOWN_RESTART_ADMINISTRATORS]), ApplyUsers = Convert.ToBoolean(defaultSettings[RdsServerSettings.REMOVE_SHUTDOWN_RESTART_USERS]) }); settings.Settings.Add(new RdsServerSetting { PropertyName = RdsServerSettings.DISABLE_TASK_MANAGER, PropertyValue = "", ApplyAdministrators = Convert.ToBoolean(defaultSettings[RdsServerSettings.DISABLE_TASK_MANAGER_ADMINISTRATORS]), ApplyUsers = Convert.ToBoolean(defaultSettings[RdsServerSettings.DISABLE_TASK_MANAGER_USERS]) }); settings.Settings.Add(new RdsServerSetting { PropertyName = RdsServerSettings.CHANGE_DESKTOP_DISABLED, PropertyValue = "", ApplyAdministrators = Convert.ToBoolean(defaultSettings[RdsServerSettings.CHANGE_DESKTOP_DISABLED_ADMINISTRATORS]), ApplyUsers = Convert.ToBoolean(defaultSettings[RdsServerSettings.CHANGE_DESKTOP_DISABLED_USERS]) }); settings.Settings.Add(new RdsServerSetting { PropertyName = RdsServerSettings.SCREEN_SAVER_DISABLED, PropertyValue = "", ApplyAdministrators = Convert.ToBoolean(defaultSettings[RdsServerSettings.SCREEN_SAVER_DISABLED_ADMINISTRATORS]), ApplyUsers = Convert.ToBoolean(defaultSettings[RdsServerSettings.SCREEN_SAVER_DISABLED_USERS]) }); settings.Settings.Add(new RdsServerSetting { PropertyName = RdsServerSettings.RDS_VIEW_WITHOUT_PERMISSION, PropertyValue = "", ApplyAdministrators = Convert.ToBoolean(defaultSettings[RdsServerSettings.RDS_VIEW_WITHOUT_PERMISSION_ADMINISTRATORS]), ApplyUsers = Convert.ToBoolean(defaultSettings[RdsServerSettings.RDS_VIEW_WITHOUT_PERMISSION_Users]) }); settings.Settings.Add(new RdsServerSetting { PropertyName = RdsServerSettings.RDS_CONTROL_WITHOUT_PERMISSION, PropertyValue = "", ApplyAdministrators = Convert.ToBoolean(defaultSettings[RdsServerSettings.RDS_CONTROL_WITHOUT_PERMISSION_ADMINISTRATORS]), ApplyUsers = Convert.ToBoolean(defaultSettings[RdsServerSettings.RDS_CONTROL_WITHOUT_PERMISSION_Users]) }); settings.Settings.Add(new RdsServerSetting { PropertyName = RdsServerSettings.DISABLE_CMD, PropertyValue = "", ApplyAdministrators = Convert.ToBoolean(defaultSettings[RdsServerSettings.DISABLE_CMD_ADMINISTRATORS]), ApplyUsers = Convert.ToBoolean(defaultSettings[RdsServerSettings.DISABLE_CMD_USERS]) }); return(settings); }
public static RdsServerSettings GetEmptyGpoSettings() { var defaultSettings = UserController.GetUserSettings(SecurityContext.User.UserId, UserSettings.RDS_POLICY); var settings = new RdsServerSettings(); settings.Settings.Add(new RdsServerSetting { PropertyName = RdsServerSettings.LOCK_SCREEN_TIMEOUT, PropertyValue = defaultSettings[RdsServerSettings.LOCK_SCREEN_TIMEOUT_VALUE] }); settings.Settings.Add(new RdsServerSetting { PropertyName = RdsServerSettings.REMOVE_RUN_COMMAND, PropertyValue = "" }); settings.Settings.Add(new RdsServerSetting { PropertyName = RdsServerSettings.REMOVE_POWERSHELL_COMMAND, PropertyValue = "" }); settings.Settings.Add(new RdsServerSetting { PropertyName = RdsServerSettings.HIDE_C_DRIVE, PropertyValue = "" }); settings.Settings.Add(new RdsServerSetting { PropertyName = RdsServerSettings.REMOVE_SHUTDOWN_RESTART, PropertyValue = "" }); settings.Settings.Add(new RdsServerSetting { PropertyName = RdsServerSettings.DISABLE_TASK_MANAGER, PropertyValue = "" }); settings.Settings.Add(new RdsServerSetting { PropertyName = RdsServerSettings.CHANGE_DESKTOP_DISABLED, PropertyValue = "" }); settings.Settings.Add(new RdsServerSetting { PropertyName = RdsServerSettings.SCREEN_SAVER_DISABLED, PropertyValue = "" }); settings.Settings.Add(new RdsServerSetting { PropertyName = RdsServerSettings.RDS_VIEW_WITHOUT_PERMISSION, PropertyValue = "" }); settings.Settings.Add(new RdsServerSetting { PropertyName = RdsServerSettings.RDS_CONTROL_WITHOUT_PERMISSION, PropertyValue = "" }); settings.Settings.Add(new RdsServerSetting { PropertyName = RdsServerSettings.DISABLE_CMD, PropertyValue = "" }); return(settings); }