RDS GPO fixes
This commit is contained in:
parent
fce7f6792a
commit
ac46bfbff9
5 changed files with 60 additions and 65 deletions
|
@ -408,24 +408,7 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
var rds = GetRemoteDesktopServices(GetRdsServiceId(collection.ItemId));
|
var rds = GetRemoteDesktopServices(GetRdsServiceId(collection.ItemId));
|
||||||
Organization org = OrganizationController.GetOrganization(collection.ItemId);
|
Organization org = OrganizationController.GetOrganization(collection.ItemId);
|
||||||
rds.ApplyGPO(org.OrganizationId, collection.Name, settings);
|
rds.ApplyGPO(org.OrganizationId, collection.Name, settings);
|
||||||
|
string xml = GetSettingsXml(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);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
string xml = nodeProps.OuterXml;
|
|
||||||
|
|
||||||
DataProvider.UpdateRdsServerSettings(serverId, settingsName, xml);
|
DataProvider.UpdateRdsServerSettings(serverId, settingsName, xml);
|
||||||
|
|
||||||
|
@ -792,8 +775,11 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
};
|
};
|
||||||
|
|
||||||
rds.CreateCollection(org.OrganizationId, collection);
|
rds.CreateCollection(org.OrganizationId, collection);
|
||||||
rds.ApplyGPO(org.OrganizationId, collection.Name, GetDefaultGpoSettings());
|
var defaultGpoSettings = GetDefaultGpoSettings();
|
||||||
collection.Id = DataProvider.AddRDSCollection(itemId, collection.Name, collection.Description, collection.DisplayName);
|
rds.ApplyGPO(org.OrganizationId, collection.Name, defaultGpoSettings);
|
||||||
|
collection.Id = DataProvider.AddRDSCollection(itemId, collection.Name, collection.Description, collection.DisplayName);
|
||||||
|
string xml = GetSettingsXml(defaultGpoSettings);
|
||||||
|
DataProvider.UpdateRdsServerSettings(collection.Id, string.Format("Collection-{0}-Settings", collection.Id), xml);
|
||||||
|
|
||||||
collection.Settings.RdsCollectionId = collection.Id;
|
collection.Settings.RdsCollectionId = collection.Id;
|
||||||
int settingsId = DataProvider.AddRdsCollectionSettings(collection.Settings);
|
int settingsId = DataProvider.AddRdsCollectionSettings(collection.Settings);
|
||||||
|
@ -2142,7 +2128,52 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
ApplyUsers = Convert.ToBoolean(defaultSettings[RdsServerSettings.SCREEN_SAVER_DISABLED_USERS])
|
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;
|
return settings;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private 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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1135,6 +1135,8 @@ namespace WebsitePanel.Providers.RemoteDesktopServices
|
||||||
{
|
{
|
||||||
runspace = OpenRunspace();
|
runspace = OpenRunspace();
|
||||||
|
|
||||||
|
CreatePolicy(runspace, organizationId, string.Format("{0}-administrators", collectionName), new DirectoryEntry(GetGroupPath(organizationId, collectionName, GetLocalAdminsGroupName(collectionName))), collectionName);
|
||||||
|
CreatePolicy(runspace, organizationId, string.Format("{0}-users", collectionName), new DirectoryEntry(GetUsersGroupPath(organizationId, collectionName)), collectionName);
|
||||||
CreateHelpDeskPolicy(runspace, new DirectoryEntry(GetHelpDeskGroupPath(RDSHelpDeskGroup)), organizationId, collectionName);
|
CreateHelpDeskPolicy(runspace, new DirectoryEntry(GetHelpDeskGroupPath(RDSHelpDeskGroup)), organizationId, collectionName);
|
||||||
RemoveRegistryValue(runspace, ScreenSaverGpoKey, administratorsGpo);
|
RemoveRegistryValue(runspace, ScreenSaverGpoKey, administratorsGpo);
|
||||||
RemoveRegistryValue(runspace, ScreenSaverGpoKey, usersGpo);
|
RemoveRegistryValue(runspace, ScreenSaverGpoKey, usersGpo);
|
||||||
|
|
|
@ -33,8 +33,8 @@ namespace WebsitePanel.Portal.RDS
|
||||||
|
|
||||||
if (serverSettings == null || !serverSettings.Settings.Any())
|
if (serverSettings == null || !serverSettings.Settings.Any())
|
||||||
{
|
{
|
||||||
var defaultSettings = ES.Services.Users.GetUserSettings(PanelSecurity.LoggedUserId, UserSettings.RDS_POLICY);
|
ddTimeout.SelectedValue = "";
|
||||||
BindDefaultSettings(defaultSettings);
|
ddTreshold.SelectedValue = "";
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -189,45 +189,7 @@ namespace WebsitePanel.Portal.RDS
|
||||||
});
|
});
|
||||||
|
|
||||||
return settings;
|
return settings;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void BindDefaultSettings(UserSettings settings)
|
|
||||||
{
|
|
||||||
ddTimeout.SelectedValue = settings[RdsServerSettings.LOCK_SCREEN_TIMEOUT_VALUE];
|
|
||||||
cbTimeoutAdministrators.Checked = Convert.ToBoolean(settings[RdsServerSettings.LOCK_SCREEN_TIMEOUT_ADMINISTRATORS]);
|
|
||||||
cbTimeoutUsers.Checked = Convert.ToBoolean(settings[RdsServerSettings.LOCK_SCREEN_TIMEOUT_USERS]);
|
|
||||||
|
|
||||||
cbRunCommandAdministrators.Checked = Convert.ToBoolean(settings[RdsServerSettings.REMOVE_RUN_COMMAND_ADMINISTRATORS]);
|
|
||||||
cbRunCommandUsers.Checked = Convert.ToBoolean(settings[RdsServerSettings.REMOVE_RUN_COMMAND_USERS]);
|
|
||||||
|
|
||||||
cbPowershellAdministrators.Checked = Convert.ToBoolean(settings[RdsServerSettings.REMOVE_POWERSHELL_COMMAND_ADMINISTRATORS]);
|
|
||||||
cbPowershellUsers.Checked = Convert.ToBoolean(settings[RdsServerSettings.REMOVE_POWERSHELL_COMMAND_USERS]);
|
|
||||||
|
|
||||||
cbHideCDriveAdministrators.Checked = Convert.ToBoolean(settings[RdsServerSettings.HIDE_C_DRIVE_ADMINISTRATORS]);
|
|
||||||
cbHideCDriveUsers.Checked = Convert.ToBoolean(settings[RdsServerSettings.HIDE_C_DRIVE_USERS]);
|
|
||||||
|
|
||||||
cbShutdownAdministrators.Checked = Convert.ToBoolean(settings[RdsServerSettings.REMOVE_SHUTDOWN_RESTART_ADMINISTRATORS]);
|
|
||||||
cbShutdownUsers.Checked = Convert.ToBoolean(settings[RdsServerSettings.REMOVE_SHUTDOWN_RESTART_USERS]);
|
|
||||||
|
|
||||||
cbTaskManagerAdministrators.Checked = Convert.ToBoolean(settings[RdsServerSettings.DISABLE_TASK_MANAGER_ADMINISTRATORS]);
|
|
||||||
cbTaskManagerUsers.Checked = Convert.ToBoolean(settings[RdsServerSettings.DISABLE_TASK_MANAGER_USERS]);
|
|
||||||
|
|
||||||
cbDesktopAdministrators.Checked = Convert.ToBoolean(settings[RdsServerSettings.CHANGE_DESKTOP_DISABLED_ADMINISTRATORS]);
|
|
||||||
cbDesktopUsers.Checked = Convert.ToBoolean(settings[RdsServerSettings.CHANGE_DESKTOP_DISABLED_USERS]);
|
|
||||||
|
|
||||||
cbScreenSaverAdministrators.Checked = Convert.ToBoolean(settings[RdsServerSettings.SCREEN_SAVER_DISABLED_ADMINISTRATORS]);
|
|
||||||
cbScreenSaverUsers.Checked = Convert.ToBoolean(settings[RdsServerSettings.SCREEN_SAVER_DISABLED_USERS]);
|
|
||||||
|
|
||||||
cbViewSessionAdministrators.Checked = Convert.ToBoolean(settings[RdsServerSettings.RDS_VIEW_WITHOUT_PERMISSION_ADMINISTRATORS]);
|
|
||||||
cbViewSessionUsers.Checked = Convert.ToBoolean(settings[RdsServerSettings.RDS_VIEW_WITHOUT_PERMISSION_Users]);
|
|
||||||
cbControlSessionAdministrators.Checked = Convert.ToBoolean(settings[RdsServerSettings.RDS_CONTROL_WITHOUT_PERMISSION_ADMINISTRATORS]);
|
|
||||||
cbControlSessionUsers.Checked = Convert.ToBoolean(settings[RdsServerSettings.RDS_CONTROL_WITHOUT_PERMISSION_Users]);
|
|
||||||
|
|
||||||
cbDisableCmdAdministrators.Checked = Convert.ToBoolean(settings[RdsServerSettings.DISABLE_CMD_ADMINISTRATORS]);
|
|
||||||
cbDisableCmdUsers.Checked = Convert.ToBoolean(settings[RdsServerSettings.DISABLE_CMD_USERS]);
|
|
||||||
|
|
||||||
ddTreshold.SelectedValue = settings[RdsServerSettings.DRIVE_SPACE_THRESHOLD_VALUE];
|
|
||||||
}
|
|
||||||
|
|
||||||
private bool SaveServerSettings()
|
private bool SaveServerSettings()
|
||||||
{
|
{
|
||||||
|
|
|
@ -5,13 +5,13 @@
|
||||||
<asp:DataList ID="rdsTabs" runat="server" RepeatDirection="Horizontal" RepeatLayout="Flow" EnableViewState="false">
|
<asp:DataList ID="rdsTabs" runat="server" RepeatDirection="Horizontal" RepeatLayout="Flow" EnableViewState="false">
|
||||||
<ItemStyle Wrap="False" />
|
<ItemStyle Wrap="False" />
|
||||||
<ItemTemplate >
|
<ItemTemplate >
|
||||||
<asp:HyperLink ID="lnkTab" runat="server" CssClass="Tab" NavigateUrl='<%# Eval("Url") %>' OnClick="return tabClicked();">
|
<asp:HyperLink ID="lnkTab" runat="server" CssClass="Tab" style="padding:10px 15px;" NavigateUrl='<%# Eval("Url") %>' OnClick="return tabClicked();">
|
||||||
<%# Eval("Name") %>
|
<%# Eval("Name") %>
|
||||||
</asp:HyperLink>
|
</asp:HyperLink>
|
||||||
</ItemTemplate>
|
</ItemTemplate>
|
||||||
<SelectedItemStyle Wrap="False" />
|
<SelectedItemStyle Wrap="False" />
|
||||||
<SelectedItemTemplate>
|
<SelectedItemTemplate>
|
||||||
<asp:HyperLink ID="lnkSelTab" runat="server" CssClass="ActiveTab" NavigateUrl='<%# Eval("Url") %>' OnClick="return tabClicked;">
|
<asp:HyperLink ID="lnkSelTab" runat="server" CssClass="ActiveTab" style="padding:10px 15px;" NavigateUrl='<%# Eval("Url") %>' OnClick="return tabClicked;">
|
||||||
<%# Eval("Name") %>
|
<%# Eval("Name") %>
|
||||||
</asp:HyperLink>
|
</asp:HyperLink>
|
||||||
</SelectedItemTemplate>
|
</SelectedItemTemplate>
|
||||||
|
|
|
@ -22,11 +22,11 @@ namespace WebsitePanel.Portal.RDS.UserControls
|
||||||
List<Tab> tabsList = new List<Tab>();
|
List<Tab> tabsList = new List<Tab>();
|
||||||
tabsList.Add(CreateTab("rds_edit_collection", "Tab.RdsServers"));
|
tabsList.Add(CreateTab("rds_edit_collection", "Tab.RdsServers"));
|
||||||
tabsList.Add(CreateTab("rds_edit_collection_settings", "Tab.Settings"));
|
tabsList.Add(CreateTab("rds_edit_collection_settings", "Tab.Settings"));
|
||||||
|
tabsList.Add(CreateTab("rds_collection_user_experience", "Tab.UserExperience"));
|
||||||
tabsList.Add(CreateTab("rds_collection_edit_apps", "Tab.RdsApplications"));
|
tabsList.Add(CreateTab("rds_collection_edit_apps", "Tab.RdsApplications"));
|
||||||
tabsList.Add(CreateTab("rds_collection_edit_users", "Tab.RdsUsers"));
|
tabsList.Add(CreateTab("rds_collection_edit_users", "Tab.RdsUsers"));
|
||||||
tabsList.Add(CreateTab("rds_collection_user_sessions", "Tab.UserSessions"));
|
tabsList.Add(CreateTab("rds_collection_user_sessions", "Tab.UserSessions"));
|
||||||
tabsList.Add(CreateTab("rds_collection_local_admins", "Tab.LocalAdmins"));
|
tabsList.Add(CreateTab("rds_collection_local_admins", "Tab.LocalAdmins"));
|
||||||
tabsList.Add(CreateTab("rds_collection_user_experience", "Tab.UserExperience"));
|
|
||||||
tabsList.Add(CreateTab("rds_setup_letter", "Tab.RdsSetupLetter"));
|
tabsList.Add(CreateTab("rds_setup_letter", "Tab.RdsSetupLetter"));
|
||||||
|
|
||||||
int idx = 0;
|
int idx = 0;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue