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;
            }
        }
Beispiel #3
0
 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);
        }
Beispiel #7
0
 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);
        }