merge commit
This commit is contained in:
commit
6bd2d6156d
22 changed files with 359 additions and 144 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);
|
||||||
|
@ -850,6 +836,7 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
}
|
}
|
||||||
|
|
||||||
rds.AddSessionHostServersToCollection(org.OrganizationId, collection.Name, newServers.ToArray());
|
rds.AddSessionHostServersToCollection(org.OrganizationId, collection.Name, newServers.ToArray());
|
||||||
|
rds.MoveSessionHostsToCollectionOU(collection.Servers.ToArray(), collection.Name, org.OrganizationId);
|
||||||
|
|
||||||
foreach (var server in newServers)
|
foreach (var server in newServers)
|
||||||
{
|
{
|
||||||
|
@ -2142,7 +2129,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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -83,5 +83,6 @@ namespace WebsitePanel.Providers.RemoteDesktopServices
|
||||||
void MoveSessionHostToRdsOU(string hostName);
|
void MoveSessionHostToRdsOU(string hostName);
|
||||||
void ApplyGPO(string organizationId, string collectionName, RdsServerSettings serverSettings);
|
void ApplyGPO(string organizationId, string collectionName, RdsServerSettings serverSettings);
|
||||||
void ShadowSession(string sessionId, bool control);
|
void ShadowSession(string sessionId, bool control);
|
||||||
|
void MoveSessionHostsToCollectionOU(List<RdsServer> servers, string collectionName, string organizationId);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -45,6 +45,9 @@ namespace WebsitePanel.EnterpriseServer.Base.RDS
|
||||||
public const string RDS_CONTROL_WITHOUT_PERMISSION = "RDSControlWithoutPermission";
|
public const string RDS_CONTROL_WITHOUT_PERMISSION = "RDSControlWithoutPermission";
|
||||||
public const string RDS_CONTROL_WITHOUT_PERMISSION_ADMINISTRATORS = "RDSControlWithoutPermissionAdministrators";
|
public const string RDS_CONTROL_WITHOUT_PERMISSION_ADMINISTRATORS = "RDSControlWithoutPermissionAdministrators";
|
||||||
public const string RDS_CONTROL_WITHOUT_PERMISSION_Users = "RDSControlWithoutPermissionUsers";
|
public const string RDS_CONTROL_WITHOUT_PERMISSION_Users = "RDSControlWithoutPermissionUsers";
|
||||||
|
public const string DISABLE_CMD = "DisableCMD";
|
||||||
|
public const string DISABLE_CMD_ADMINISTRATORS = "DisableCMDAdministrators";
|
||||||
|
public const string DISABLE_CMD_USERS = "DisableCMDUsers";
|
||||||
|
|
||||||
public string SettingsName { get; set; }
|
public string SettingsName { get; set; }
|
||||||
public int ServerId { get; set; }
|
public int ServerId { get; set; }
|
||||||
|
|
|
@ -95,6 +95,11 @@ namespace WebsitePanel.Providers.RemoteDesktopServices
|
||||||
private const string HideCDriveGpoValueName = "NoDrives";
|
private const string HideCDriveGpoValueName = "NoDrives";
|
||||||
private const string RDSSessionGpoKey = @"HKCU\Software\Policies\Microsoft\Windows NT\Terminal Services";
|
private const string RDSSessionGpoKey = @"HKCU\Software\Policies\Microsoft\Windows NT\Terminal Services";
|
||||||
private const string RDSSessionGpoValueName = "Shadow";
|
private const string RDSSessionGpoValueName = "Shadow";
|
||||||
|
private const string DisableCmdGpoKey = @"HKCU\Software\Policies\Microsoft\Windows\System";
|
||||||
|
private const string DisableCmdGpoValueName = "DisableCMD";
|
||||||
|
private const string DisallowRunParentKey = @"HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer";
|
||||||
|
private const string DisallowRunKey = @"HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\DisallowRun";
|
||||||
|
private const string DisallowRunValueName = "DisallowRun";
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
@ -632,6 +637,14 @@ namespace WebsitePanel.Providers.RemoteDesktopServices
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void MoveSessionHostsToCollectionOU(List<RdsServer> servers, string collectionName, string organizationId)
|
||||||
|
{
|
||||||
|
foreach(var server in servers)
|
||||||
|
{
|
||||||
|
MoveSessionHostToCollectionOU(server.Name, collectionName, organizationId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void RemoveSessionHostServerFromCollection(string organizationId, string collectionName, RdsServer server)
|
public void RemoveSessionHostServerFromCollection(string organizationId, string collectionName, RdsServer server)
|
||||||
{
|
{
|
||||||
Runspace runSpace = null;
|
Runspace runSpace = null;
|
||||||
|
@ -1130,13 +1143,21 @@ 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);
|
||||||
RemoveRegistryValue(runspace, RemoveRestartGpoKey, administratorsGpo);
|
RemoveRegistryValue(runspace, RemoveRestartGpoKey, administratorsGpo);
|
||||||
RemoveRegistryValue(runspace, RemoveRestartGpoKey, usersGpo);
|
RemoveRegistryValue(runspace, RemoveRestartGpoKey, usersGpo);
|
||||||
RemoveRegistryValue(runspace, DisableTaskManagerGpoKey, administratorsGpo);
|
RemoveRegistryValue(runspace, DisableTaskManagerGpoKey, administratorsGpo);
|
||||||
RemoveRegistryValue(runspace, DisableTaskManagerGpoKey, usersGpo);
|
RemoveRegistryValue(runspace, DisableTaskManagerGpoKey, usersGpo);
|
||||||
|
RemoveRegistryValue(runspace, DisableCmdGpoKey, usersGpo);
|
||||||
|
RemoveRegistryValue(runspace, DisableCmdGpoKey, administratorsGpo);
|
||||||
|
RemoveRegistryValue(runspace, DisallowRunKey, usersGpo);
|
||||||
|
RemoveRegistryValue(runspace, DisallowRunParentKey, usersGpo);
|
||||||
|
RemoveRegistryValue(runspace, DisallowRunKey, administratorsGpo);
|
||||||
|
RemoveRegistryValue(runspace, DisallowRunParentKey, administratorsGpo);
|
||||||
|
|
||||||
var setting = serverSettings.Settings.FirstOrDefault(s => s.PropertyName.Equals(RdsServerSettings.SCREEN_SAVER_DISABLED));
|
var setting = serverSettings.Settings.FirstOrDefault(s => s.PropertyName.Equals(RdsServerSettings.SCREEN_SAVER_DISABLED));
|
||||||
SetRegistryValue(setting, runspace, ScreenSaverGpoKey, administratorsGpo, usersGpo, ScreenSaverValueName, "0", "string");
|
SetRegistryValue(setting, runspace, ScreenSaverGpoKey, administratorsGpo, usersGpo, ScreenSaverValueName, "0", "string");
|
||||||
|
@ -1153,6 +1174,9 @@ namespace WebsitePanel.Providers.RemoteDesktopServices
|
||||||
setting = serverSettings.Settings.FirstOrDefault(s => s.PropertyName.Equals(RdsServerSettings.HIDE_C_DRIVE));
|
setting = serverSettings.Settings.FirstOrDefault(s => s.PropertyName.Equals(RdsServerSettings.HIDE_C_DRIVE));
|
||||||
SetRegistryValue(setting, runspace, HideCDriveGpoKey, administratorsGpo, usersGpo, HideCDriveGpoValueName, "4", "DWord");
|
SetRegistryValue(setting, runspace, HideCDriveGpoKey, administratorsGpo, usersGpo, HideCDriveGpoValueName, "4", "DWord");
|
||||||
|
|
||||||
|
setting = serverSettings.Settings.FirstOrDefault(s => s.PropertyName.Equals(RdsServerSettings.DISABLE_CMD));
|
||||||
|
SetRegistryValue(setting, runspace, DisableCmdGpoKey, administratorsGpo, usersGpo, DisableCmdGpoValueName, "1", "DWord");
|
||||||
|
|
||||||
setting = serverSettings.Settings.FirstOrDefault(s => s.PropertyName.Equals(RdsServerSettings.LOCK_SCREEN_TIMEOUT));
|
setting = serverSettings.Settings.FirstOrDefault(s => s.PropertyName.Equals(RdsServerSettings.LOCK_SCREEN_TIMEOUT));
|
||||||
double result;
|
double result;
|
||||||
|
|
||||||
|
@ -1162,6 +1186,7 @@ namespace WebsitePanel.Providers.RemoteDesktopServices
|
||||||
}
|
}
|
||||||
|
|
||||||
SetRdsSessionHostPermissions(runspace, serverSettings, usersGpo, administratorsGpo);
|
SetRdsSessionHostPermissions(runspace, serverSettings, usersGpo, administratorsGpo);
|
||||||
|
SetPowershellPermissions(runspace, serverSettings.Settings.FirstOrDefault(s => s.PropertyName.Equals(RdsServerSettings.REMOVE_POWERSHELL_COMMAND)), usersGpo, administratorsGpo);
|
||||||
}
|
}
|
||||||
finally
|
finally
|
||||||
{
|
{
|
||||||
|
@ -1169,6 +1194,24 @@ namespace WebsitePanel.Providers.RemoteDesktopServices
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void SetPowershellPermissions(Runspace runspace, RdsServerSetting setting, string usersGpo, string administratorsGpo)
|
||||||
|
{
|
||||||
|
if (setting != null)
|
||||||
|
{
|
||||||
|
SetRegistryValue(setting, runspace, DisallowRunParentKey, administratorsGpo, usersGpo, DisallowRunValueName, "1", "Dword");
|
||||||
|
|
||||||
|
if (setting.ApplyAdministrators)
|
||||||
|
{
|
||||||
|
SetRegistryValue(runspace, DisallowRunKey, administratorsGpo, "powershell.exe", "string");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (setting.ApplyUsers)
|
||||||
|
{
|
||||||
|
SetRegistryValue(runspace, DisallowRunKey, usersGpo, "powershell.exe", "string");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void SetRdsSessionHostPermissions(Runspace runspace, RdsServerSettings settings, string usersGpo, string administratorsGpo)
|
private void SetRdsSessionHostPermissions(Runspace runspace, RdsServerSettings settings, string usersGpo, string administratorsGpo)
|
||||||
{
|
{
|
||||||
var viewSetting = settings.Settings.FirstOrDefault(s => s.PropertyName.Equals(RdsServerSettings.RDS_VIEW_WITHOUT_PERMISSION));
|
var viewSetting = settings.Settings.FirstOrDefault(s => s.PropertyName.Equals(RdsServerSettings.RDS_VIEW_WITHOUT_PERMISSION));
|
||||||
|
@ -1233,6 +1276,17 @@ namespace WebsitePanel.Providers.RemoteDesktopServices
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void SetRegistryValue(Runspace runspace, string key, string gpoName, string value, string type)
|
||||||
|
{
|
||||||
|
Command cmd = new Command("Set-GPRegistryValue");
|
||||||
|
cmd.Parameters.Add("Name", gpoName);
|
||||||
|
cmd.Parameters.Add("Key", string.Format("\"{0}\"", key));
|
||||||
|
cmd.Parameters.Add("Value", value);
|
||||||
|
cmd.Parameters.Add("Type", type);
|
||||||
|
|
||||||
|
Collection<PSObject> result = ExecuteRemoteShellCommand(runspace, PrimaryDomainController, cmd);
|
||||||
|
}
|
||||||
|
|
||||||
private void SetRegistryValue(Runspace runspace, string key, string gpoName, string value, string valueName, string type)
|
private void SetRegistryValue(Runspace runspace, string key, string gpoName, string value, string valueName, string type)
|
||||||
{
|
{
|
||||||
Command cmd = new Command("Set-GPRegistryValue");
|
Command cmd = new Command("Set-GPRegistryValue");
|
||||||
|
|
|
@ -106,6 +106,8 @@ namespace WebsitePanel.Providers.RemoteDesktopServices {
|
||||||
|
|
||||||
private System.Threading.SendOrPostCallback ShadowSessionOperationCompleted;
|
private System.Threading.SendOrPostCallback ShadowSessionOperationCompleted;
|
||||||
|
|
||||||
|
private System.Threading.SendOrPostCallback MoveSessionHostsToCollectionOUOperationCompleted;
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public RemoteDesktopServices() {
|
public RemoteDesktopServices() {
|
||||||
this.Url = "http://localhost:9003/RemoteDesktopServices.asmx";
|
this.Url = "http://localhost:9003/RemoteDesktopServices.asmx";
|
||||||
|
@ -225,6 +227,9 @@ namespace WebsitePanel.Providers.RemoteDesktopServices {
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public event ShadowSessionCompletedEventHandler ShadowSessionCompleted;
|
public event ShadowSessionCompletedEventHandler ShadowSessionCompleted;
|
||||||
|
|
||||||
|
/// <remarks/>
|
||||||
|
public event MoveSessionHostsToCollectionOUCompletedEventHandler MoveSessionHostsToCollectionOUCompleted;
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
[System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
|
[System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
|
||||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/CreateCollection", RequestNamespace="http://smbsaas/websitepanel/server/", ResponseNamespace="http://smbsaas/websitepanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/CreateCollection", RequestNamespace="http://smbsaas/websitepanel/server/", ResponseNamespace="http://smbsaas/websitepanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
||||||
|
@ -1882,6 +1887,52 @@ namespace WebsitePanel.Providers.RemoteDesktopServices {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <remarks/>
|
||||||
|
[System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
|
||||||
|
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/MoveSessionHostsToCollectionOU", RequestNamespace="http://smbsaas/websitepanel/server/", ResponseNamespace="http://smbsaas/websitepanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
||||||
|
public void MoveSessionHostsToCollectionOU(RdsServer[] servers, string collectionName, string organizationId) {
|
||||||
|
this.Invoke("MoveSessionHostsToCollectionOU", new object[] {
|
||||||
|
servers,
|
||||||
|
collectionName,
|
||||||
|
organizationId});
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <remarks/>
|
||||||
|
public System.IAsyncResult BeginMoveSessionHostsToCollectionOU(RdsServer[] servers, string collectionName, string organizationId, System.AsyncCallback callback, object asyncState) {
|
||||||
|
return this.BeginInvoke("MoveSessionHostsToCollectionOU", new object[] {
|
||||||
|
servers,
|
||||||
|
collectionName,
|
||||||
|
organizationId}, callback, asyncState);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <remarks/>
|
||||||
|
public void EndMoveSessionHostsToCollectionOU(System.IAsyncResult asyncResult) {
|
||||||
|
this.EndInvoke(asyncResult);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <remarks/>
|
||||||
|
public void MoveSessionHostsToCollectionOUAsync(RdsServer[] servers, string collectionName, string organizationId) {
|
||||||
|
this.MoveSessionHostsToCollectionOUAsync(servers, collectionName, organizationId, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <remarks/>
|
||||||
|
public void MoveSessionHostsToCollectionOUAsync(RdsServer[] servers, string collectionName, string organizationId, object userState) {
|
||||||
|
if ((this.MoveSessionHostsToCollectionOUOperationCompleted == null)) {
|
||||||
|
this.MoveSessionHostsToCollectionOUOperationCompleted = new System.Threading.SendOrPostCallback(this.OnMoveSessionHostsToCollectionOUOperationCompleted);
|
||||||
|
}
|
||||||
|
this.InvokeAsync("MoveSessionHostsToCollectionOU", new object[] {
|
||||||
|
servers,
|
||||||
|
collectionName,
|
||||||
|
organizationId}, this.MoveSessionHostsToCollectionOUOperationCompleted, userState);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnMoveSessionHostsToCollectionOUOperationCompleted(object arg) {
|
||||||
|
if ((this.MoveSessionHostsToCollectionOUCompleted != null)) {
|
||||||
|
System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
|
||||||
|
this.MoveSessionHostsToCollectionOUCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public new void CancelAsync(object userState) {
|
public new void CancelAsync(object userState) {
|
||||||
base.CancelAsync(userState);
|
base.CancelAsync(userState);
|
||||||
|
@ -2523,4 +2574,8 @@ namespace WebsitePanel.Providers.RemoteDesktopServices {
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
|
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
|
||||||
public delegate void ShadowSessionCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
|
public delegate void ShadowSessionCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
|
||||||
|
|
||||||
|
/// <remarks/>
|
||||||
|
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
|
||||||
|
public delegate void MoveSessionHostsToCollectionOUCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
|
||||||
}
|
}
|
||||||
|
|
|
@ -695,5 +695,21 @@ namespace WebsitePanel.Server
|
||||||
throw;
|
throw;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[WebMethod, SoapHeader("settings")]
|
||||||
|
public void MoveSessionHostsToCollectionOU(List<RdsServer> servers, string collectionName, string organizationId)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
Log.WriteStart("'{0}' MoveSessionHostsToCollectionOU", ProviderSettings.ProviderName);
|
||||||
|
RDSProvider.MoveSessionHostsToCollectionOU(servers, collectionName, organizationId);
|
||||||
|
Log.WriteEnd("'{0}' MoveSessionHostsToCollectionOU", ProviderSettings.ProviderName);
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Log.WriteError(String.Format("'{0}' MoveSessionHostsToCollectionOU", ProviderSettings.ProviderName), ex);
|
||||||
|
throw;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -205,7 +205,7 @@
|
||||||
<value>SharePoint Foundation</value>
|
<value>SharePoint Foundation</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Text.SharePointEnterpriseServerGroup" xml:space="preserve">
|
<data name="Text.SharePointEnterpriseServerGroup" xml:space="preserve">
|
||||||
<value>SharePoint Enterprise Server</value>
|
<value>SharePoint Server</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Text.SiteCollections" xml:space="preserve">
|
<data name="Text.SiteCollections" xml:space="preserve">
|
||||||
<value>Site Collections</value>
|
<value>Site Collections</value>
|
||||||
|
|
|
@ -129,6 +129,9 @@
|
||||||
<data name="secControlSession.Text" xml:space="preserve">
|
<data name="secControlSession.Text" xml:space="preserve">
|
||||||
<value>Control RDS Session without Users's Permission</value>
|
<value>Control RDS Session without Users's Permission</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="secDisableCmd.Text" xml:space="preserve">
|
||||||
|
<value>Disable Command Prompt</value>
|
||||||
|
</data>
|
||||||
<data name="secDriveSpace.Text" xml:space="preserve">
|
<data name="secDriveSpace.Text" xml:space="preserve">
|
||||||
<value>Drive Space Threshold</value>
|
<value>Drive Space Threshold</value>
|
||||||
</data>
|
</data>
|
||||||
|
|
|
@ -238,7 +238,7 @@
|
||||||
<value>Hosted Organization - SharePoint Foundation Server</value>
|
<value>Hosted Organization - SharePoint Foundation Server</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Text.SharePointEnterpriseServerGroup" xml:space="preserve">
|
<data name="Text.SharePointEnterpriseServerGroup" xml:space="preserve">
|
||||||
<value>Hosted Organization - SharePoint Enterprise Server</value>
|
<value>Hosted Organization - SharePoint Server</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Text.SiteCollections" xml:space="preserve">
|
<data name="Text.SiteCollections" xml:space="preserve">
|
||||||
<value>Sharepoint Sites</value>
|
<value>Sharepoint Sites</value>
|
||||||
|
|
|
@ -129,6 +129,9 @@
|
||||||
<data name="secControlSession.Text" xml:space="preserve">
|
<data name="secControlSession.Text" xml:space="preserve">
|
||||||
<value>Control RDS Session without Users's Permission</value>
|
<value>Control RDS Session without Users's Permission</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="secDisableCmd.Text" xml:space="preserve">
|
||||||
|
<value>Disable Command Prompt</value>
|
||||||
|
</data>
|
||||||
<data name="secDriveSpace.Text" xml:space="preserve">
|
<data name="secDriveSpace.Text" xml:space="preserve">
|
||||||
<value>Drive Space Threshold</value>
|
<value>Drive Space Threshold</value>
|
||||||
</data>
|
</data>
|
||||||
|
|
|
@ -138,4 +138,7 @@
|
||||||
<data name="valRequireEmail.Text" xml:space="preserve">
|
<data name="valRequireEmail.Text" xml:space="preserve">
|
||||||
<value>* Enter E-Mail</value>
|
<value>* Enter E-Mail</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="btnExit.Text" xml:space="preserve">
|
||||||
|
<value>Back to Users List</value>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
|
@ -190,6 +190,20 @@
|
||||||
</table>
|
</table>
|
||||||
<br />
|
<br />
|
||||||
</asp:Panel>
|
</asp:Panel>
|
||||||
|
<wsp:CollapsiblePanel id="secDisableCmd" runat="server" TargetControlID="disableCmdPanel" meta:resourcekey="secDisableCmd" Text="Disable Command Prompt"/>
|
||||||
|
<asp:Panel ID="disableCmdPanel" runat="server" Height="0" style="overflow:hidden;">
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<asp:CheckBox runat="server" Text="Users" ID="cbDisableCmdUsers" meta:resourcekey="cbUsers" Checked="false" />
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<asp:CheckBox runat="server" Text="Administrators" meta:resourcekey="cbAdministrators" ID="cbDisableCmdAdministrators" Checked="false" />
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<br />
|
||||||
|
</asp:Panel>
|
||||||
<div class="FormFooterClean">
|
<div class="FormFooterClean">
|
||||||
<wsp:ItemButtonPanel id="buttonPanel" runat="server" ValidationGroup="SaveRDSCollection"
|
<wsp:ItemButtonPanel id="buttonPanel" runat="server" ValidationGroup="SaveRDSCollection"
|
||||||
OnSaveClick="btnSave_Click" OnSaveExitClick="btnSaveExit_Click" />
|
OnSaveClick="btnSave_Click" OnSaveExitClick="btnSaveExit_Click" />
|
||||||
|
|
|
@ -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
|
||||||
{
|
{
|
||||||
|
@ -53,77 +53,16 @@ namespace WebsitePanel.Portal.RDS
|
||||||
cbTimeoutUsers.Checked = setting.ApplyUsers;
|
cbTimeoutUsers.Checked = setting.ApplyUsers;
|
||||||
}
|
}
|
||||||
|
|
||||||
setting = GetServerSetting(settings, RdsServerSettings.REMOVE_RUN_COMMAND);
|
SetCheckboxes(settings, RdsServerSettings.REMOVE_RUN_COMMAND, cbRunCommandAdministrators, cbRunCommandUsers);
|
||||||
|
SetCheckboxes(settings, RdsServerSettings.REMOVE_POWERSHELL_COMMAND, cbPowershellAdministrators, cbPowershellUsers);
|
||||||
if (setting != null)
|
SetCheckboxes(settings, RdsServerSettings.HIDE_C_DRIVE, cbHideCDriveAdministrators, cbHideCDriveUsers);
|
||||||
{
|
SetCheckboxes(settings, RdsServerSettings.REMOVE_SHUTDOWN_RESTART, cbShutdownAdministrators, cbShutdownUsers);
|
||||||
cbRunCommandAdministrators.Checked = setting.ApplyAdministrators;
|
SetCheckboxes(settings, RdsServerSettings.DISABLE_TASK_MANAGER, cbTaskManagerAdministrators, cbTaskManagerUsers);
|
||||||
cbRunCommandUsers.Checked = setting.ApplyUsers;
|
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);
|
||||||
setting = GetServerSetting(settings, RdsServerSettings.REMOVE_POWERSHELL_COMMAND);
|
SetCheckboxes(settings, RdsServerSettings.RDS_CONTROL_WITHOUT_PERMISSION, cbControlSessionAdministrators, cbControlSessionUsers);
|
||||||
|
SetCheckboxes(settings, RdsServerSettings.DISABLE_CMD, cbDisableCmdAdministrators, cbDisableCmdUsers);
|
||||||
if (setting != null)
|
|
||||||
{
|
|
||||||
cbPowershellAdministrators.Checked = setting.ApplyAdministrators;
|
|
||||||
cbPowershellUsers.Checked = setting.ApplyUsers;
|
|
||||||
}
|
|
||||||
|
|
||||||
setting = GetServerSetting(settings, RdsServerSettings.HIDE_C_DRIVE);
|
|
||||||
|
|
||||||
if (setting != null)
|
|
||||||
{
|
|
||||||
cbHideCDriveAdministrators.Checked = setting.ApplyAdministrators;
|
|
||||||
cbHideCDriveUsers.Checked = setting.ApplyUsers;
|
|
||||||
}
|
|
||||||
|
|
||||||
setting = GetServerSetting(settings, RdsServerSettings.REMOVE_SHUTDOWN_RESTART);
|
|
||||||
|
|
||||||
if (setting != null)
|
|
||||||
{
|
|
||||||
cbShutdownAdministrators.Checked = setting.ApplyAdministrators;
|
|
||||||
cbShutdownUsers.Checked = setting.ApplyUsers;
|
|
||||||
}
|
|
||||||
|
|
||||||
setting = GetServerSetting(settings, RdsServerSettings.DISABLE_TASK_MANAGER);
|
|
||||||
|
|
||||||
if (setting != null)
|
|
||||||
{
|
|
||||||
cbTaskManagerAdministrators.Checked = setting.ApplyAdministrators;
|
|
||||||
cbTaskManagerUsers.Checked = setting.ApplyUsers;
|
|
||||||
}
|
|
||||||
|
|
||||||
setting = GetServerSetting(settings, RdsServerSettings.CHANGE_DESKTOP_DISABLED);
|
|
||||||
|
|
||||||
if (setting != null)
|
|
||||||
{
|
|
||||||
cbDesktopAdministrators.Checked = setting.ApplyAdministrators;
|
|
||||||
cbDesktopUsers.Checked = setting.ApplyUsers;
|
|
||||||
}
|
|
||||||
|
|
||||||
setting = GetServerSetting(settings, RdsServerSettings.SCREEN_SAVER_DISABLED);
|
|
||||||
|
|
||||||
if (setting != null)
|
|
||||||
{
|
|
||||||
cbScreenSaverAdministrators.Checked = setting.ApplyAdministrators;
|
|
||||||
cbViewSessionUsers.Checked = setting.ApplyUsers;
|
|
||||||
}
|
|
||||||
|
|
||||||
setting = GetServerSetting(settings, RdsServerSettings.RDS_VIEW_WITHOUT_PERMISSION);
|
|
||||||
|
|
||||||
if (setting != null)
|
|
||||||
{
|
|
||||||
cbViewSessionAdministrators.Checked = setting.ApplyAdministrators;
|
|
||||||
cbScreenSaverUsers.Checked = setting.ApplyUsers;
|
|
||||||
}
|
|
||||||
|
|
||||||
setting = GetServerSetting(settings, RdsServerSettings.RDS_CONTROL_WITHOUT_PERMISSION);
|
|
||||||
|
|
||||||
if (setting != null)
|
|
||||||
{
|
|
||||||
cbControlSessionAdministrators.Checked = setting.ApplyAdministrators;
|
|
||||||
cbControlSessionUsers.Checked = setting.ApplyUsers;
|
|
||||||
}
|
|
||||||
|
|
||||||
setting = GetServerSetting(settings, RdsServerSettings.DRIVE_SPACE_THRESHOLD);
|
setting = GetServerSetting(settings, RdsServerSettings.DRIVE_SPACE_THRESHOLD);
|
||||||
|
|
||||||
|
@ -133,6 +72,17 @@ namespace WebsitePanel.Portal.RDS
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private RdsServerSetting GetServerSetting(RdsServerSettings settings, string propertyName)
|
private RdsServerSetting GetServerSetting(RdsServerSettings settings, string propertyName)
|
||||||
{
|
{
|
||||||
return settings.Settings.FirstOrDefault(s => s.PropertyName.Equals(propertyName));
|
return settings.Settings.FirstOrDefault(s => s.PropertyName.Equals(propertyName));
|
||||||
|
@ -230,43 +180,16 @@ namespace WebsitePanel.Portal.RDS
|
||||||
ApplyUsers = cbControlSessionUsers.Checked
|
ApplyUsers = cbControlSessionUsers.Checked
|
||||||
});
|
});
|
||||||
|
|
||||||
|
settings.Settings.Add(new RdsServerSetting
|
||||||
|
{
|
||||||
|
PropertyName = RdsServerSettings.DISABLE_CMD,
|
||||||
|
PropertyValue = "",
|
||||||
|
ApplyAdministrators = cbDisableCmdAdministrators.Checked,
|
||||||
|
ApplyUsers = cbDisableCmdUsers.Checked
|
||||||
|
});
|
||||||
|
|
||||||
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]);
|
|
||||||
|
|
||||||
ddTreshold.SelectedValue = settings[RdsServerSettings.DRIVE_SPACE_THRESHOLD_VALUE];
|
|
||||||
}
|
|
||||||
|
|
||||||
private bool SaveServerSettings()
|
private bool SaveServerSettings()
|
||||||
{
|
{
|
||||||
|
|
|
@ -462,6 +462,42 @@ namespace WebsitePanel.Portal.RDS {
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
protected global::System.Web.UI.WebControls.CheckBox cbControlSessionAdministrators;
|
protected global::System.Web.UI.WebControls.CheckBox cbControlSessionAdministrators;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// secDisableCmd control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::WebsitePanel.Portal.CollapsiblePanel secDisableCmd;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// disableCmdPanel control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::System.Web.UI.WebControls.Panel disableCmdPanel;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// cbDisableCmdUsers control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::System.Web.UI.WebControls.CheckBox cbDisableCmdUsers;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// cbDisableCmdAdministrators control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::System.Web.UI.WebControls.CheckBox cbDisableCmdAdministrators;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// buttonPanel control.
|
/// buttonPanel control.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="FormBody">
|
<div class="FormBody">
|
||||||
<wsp:SimpleMessageBox id="messageBox" runat="server" />
|
<wsp:SimpleMessageBox id="messageBox" runat="server" />
|
||||||
<wsp:CollectionTabs id="tabs" runat="server" SelectedTab="rds_setup_letter" />
|
<wsp:CollectionTabs id="tabs" runat="server" SelectedTab="rds_collection_edit_users" />
|
||||||
|
|
||||||
<wsp:CollapsiblePanel id="secEmail" runat="server" IsCollapsed="true"
|
<wsp:CollapsiblePanel id="secEmail" runat="server" IsCollapsed="true"
|
||||||
TargetControlID="EmailPanel" meta:resourcekey="secEmail" Text="Send via E-Mail">
|
TargetControlID="EmailPanel" meta:resourcekey="secEmail" Text="Send via E-Mail">
|
||||||
|
@ -41,13 +41,13 @@
|
||||||
</td>
|
</td>
|
||||||
<td class="Normal">
|
<td class="Normal">
|
||||||
<asp:TextBox ID="txtCC" runat="server" CssClass="NormalTextBox" Width="300px"></asp:TextBox></td>
|
<asp:TextBox ID="txtCC" runat="server" CssClass="NormalTextBox" Width="300px"></asp:TextBox></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
|
||||||
<td></td>
|
|
||||||
<td>
|
|
||||||
<asp:Button ID="btnSend" runat="server" CssClass="Button2" meta:resourcekey="btnSend" Text="Send" OnClick="btnSend_Click" ValidationGroup="SendEmail" /></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
</table>
|
||||||
|
<div class="FormFooterClean">
|
||||||
|
<asp:Button id="btnExit" runat="server" Text="Back to Users List" CssClass="Button1" meta:resourcekey="btnExit"
|
||||||
|
OnClick="btnExit_Click" OnClientClick="ShowProgressDialog('Loading ...');"/>
|
||||||
|
<asp:Button ID="btnSend" runat="server" CssClass="Button2" meta:resourcekey="btnSend" Text="Send" OnClick="btnSend_Click" ValidationGroup="SendEmail" />
|
||||||
|
</div>
|
||||||
</asp:Panel>
|
</asp:Panel>
|
||||||
|
|
||||||
<div class="PreviewArea">
|
<div class="PreviewArea">
|
||||||
|
|
|
@ -59,5 +59,10 @@ namespace WebsitePanel.Portal.RDS
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected void btnExit_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
Response.Redirect(EditUrl("SpaceID", PanelSecurity.PackageId.ToString(), "rds_collection_edit_users", "CollectionId=" + PanelRequest.CollectionID, "ItemID=" + PanelRequest.ItemID));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -129,6 +129,15 @@ namespace WebsitePanel.Portal.RDS {
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
protected global::System.Web.UI.WebControls.TextBox txtCC;
|
protected global::System.Web.UI.WebControls.TextBox txtCC;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// btnExit control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::System.Web.UI.WebControls.Button btnExit;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// btnSend control.
|
/// btnSend control.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
|
@ -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,12 +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"));
|
|
||||||
|
|
||||||
int idx = 0;
|
int idx = 0;
|
||||||
|
|
||||||
|
|
|
@ -166,4 +166,18 @@
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
<br />
|
<br />
|
||||||
|
</asp:Panel>
|
||||||
|
<wsp:CollapsiblePanel id="secDisableCmd" runat="server" TargetControlID="disableCmdPanel" meta:resourcekey="secDisableCmd" Text="Disable Command Prompt"/>
|
||||||
|
<asp:Panel ID="disableCmdPanel" runat="server" Height="0" style="overflow:hidden;">
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<asp:CheckBox runat="server" Text="Users" ID="cbDisableCmdUsers" meta:resourcekey="cbUsers" Checked="false" />
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<asp:CheckBox runat="server" Text="Administrators" meta:resourcekey="cbAdministrators" ID="cbDisableCmdAdministrators" Checked="false" />
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<br />
|
||||||
</asp:Panel>
|
</asp:Panel>
|
|
@ -49,6 +49,9 @@ namespace WebsitePanel.Portal
|
||||||
cbControlSessionAdministrators.Checked = Convert.ToBoolean(settings[RdsServerSettings.RDS_CONTROL_WITHOUT_PERMISSION_ADMINISTRATORS]);
|
cbControlSessionAdministrators.Checked = Convert.ToBoolean(settings[RdsServerSettings.RDS_CONTROL_WITHOUT_PERMISSION_ADMINISTRATORS]);
|
||||||
cbControlSessionUsers.Checked = Convert.ToBoolean(settings[RdsServerSettings.RDS_CONTROL_WITHOUT_PERMISSION_Users]);
|
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];
|
ddTreshold.SelectedValue = settings[RdsServerSettings.DRIVE_SPACE_THRESHOLD_VALUE];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -72,6 +75,12 @@ namespace WebsitePanel.Portal
|
||||||
settings[RdsServerSettings.SCREEN_SAVER_DISABLED_ADMINISTRATORS] = cbScreenSaverAdministrators.Checked.ToString();
|
settings[RdsServerSettings.SCREEN_SAVER_DISABLED_ADMINISTRATORS] = cbScreenSaverAdministrators.Checked.ToString();
|
||||||
settings[RdsServerSettings.SCREEN_SAVER_DISABLED_USERS] = cbScreenSaverUsers.Checked.ToString();
|
settings[RdsServerSettings.SCREEN_SAVER_DISABLED_USERS] = cbScreenSaverUsers.Checked.ToString();
|
||||||
settings[RdsServerSettings.DRIVE_SPACE_THRESHOLD_VALUE] = ddTreshold.SelectedValue;
|
settings[RdsServerSettings.DRIVE_SPACE_THRESHOLD_VALUE] = ddTreshold.SelectedValue;
|
||||||
|
settings[RdsServerSettings.RDS_VIEW_WITHOUT_PERMISSION_ADMINISTRATORS] = cbViewSessionAdministrators.Checked.ToString();
|
||||||
|
settings[RdsServerSettings.RDS_VIEW_WITHOUT_PERMISSION_Users] = cbViewSessionUsers.Checked.ToString();
|
||||||
|
settings[RdsServerSettings.RDS_CONTROL_WITHOUT_PERMISSION_ADMINISTRATORS] = cbControlSessionAdministrators.Checked.ToString();
|
||||||
|
settings[RdsServerSettings.RDS_CONTROL_WITHOUT_PERMISSION_Users] = cbControlSessionUsers.Checked.ToString();
|
||||||
|
settings[RdsServerSettings.DISABLE_CMD_ADMINISTRATORS] = cbDisableCmdAdministrators.Checked.ToString();
|
||||||
|
settings[RdsServerSettings.DISABLE_CMD_USERS] = cbDisableCmdUsers.Checked.ToString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -407,5 +407,41 @@ namespace WebsitePanel.Portal {
|
||||||
/// To modify move field declaration from designer file to code-behind file.
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
protected global::System.Web.UI.WebControls.CheckBox cbControlSessionAdministrators;
|
protected global::System.Web.UI.WebControls.CheckBox cbControlSessionAdministrators;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// secDisableCmd control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::WebsitePanel.Portal.CollapsiblePanel secDisableCmd;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// disableCmdPanel control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::System.Web.UI.WebControls.Panel disableCmdPanel;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// cbDisableCmdUsers control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::System.Web.UI.WebControls.CheckBox cbDisableCmdUsers;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// cbDisableCmdAdministrators control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::System.Web.UI.WebControls.CheckBox cbDisableCmdAdministrators;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue