diff --git a/WebsitePanel/Database/update_db.sql b/WebsitePanel/Database/update_db.sql
index dc73f195..099ffa54 100644
--- a/WebsitePanel/Database/update_db.sql
+++ b/WebsitePanel/Database/update_db.sql
@@ -454,3 +454,21 @@ GO
-- add Application Pools Restart Quota
INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID], [HideQuota]) VALUES (411, 2, 13, N'Web.AppPoolsRestart', N'Application Pools Restart', 1, 0, NULL, NULL)
GO
+
+
+IF NOT EXISTS (SELECT * FROM [dbo].[ResourceGroups] WHERE [GroupName] = 'Remote Desktop Services')
+BEGIN
+INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController], [ShowGroup]) VALUES (43, N'RemoteDesktopServices', 24, N'WebsitePanel.EnterpriseServer.RemoteDesktopServicesController', 1)
+END
+GO
+
+IF NOT EXISTS (SELECT * FROM [dbo].[Providers] WHERE [DisplayName] = 'Remote Desktop Windows 2012')
+BEGIN
+INSERT [dbo].[Providers] ([ProviderId], [GroupId], [ProviderName], [DisplayName], [ProviderType], [EditorControl], [DisableAutoDiscovery]) VALUES(500, 43, N'RemoteDesktop2012', N'Remote Desktop Services Windows 2012', N'WebsitePanel.Providers.RemoteDesktopServices.Windows2012, WebsitePanel.Providers.RemoteDesktopServices.Windows2012', N'RemoteDesktopServices', 1)
+END
+ELSE
+BEGIN
+UPDATE [dbo].[Providers] SET [DisableAutoDiscovery] = NULL WHERE [DisplayName] = 'Remote Desktop Windows 2012'
+END
+GO
+
diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/RemoteDesktopServicesProxy.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/RemoteDesktopServicesProxy.cs
new file mode 100644
index 00000000..9105bb73
--- /dev/null
+++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/RemoteDesktopServicesProxy.cs
@@ -0,0 +1,36 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Runtime Version:2.0.50727.6400
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+//
+// This source code was auto-generated by wsdl, Version=2.0.50727.3038.
+//
+namespace WebsitePanel.EnterpriseServer {
+ using System.Xml.Serialization;
+ using System.Web.Services;
+ using System.ComponentModel;
+ using System.Web.Services.Protocols;
+ using System;
+ using System.Diagnostics;
+
+
+ ///
+ // CODEGEN: No methods were found in the WSDL for this protocol.
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.ComponentModel.DesignerCategoryAttribute("code")]
+ [System.Web.Services.WebServiceBindingAttribute(Name="esRemoteDesktopServicesSoap", Namespace="http://smbsaas/websitepanel/enterpriseserver")]
+ public partial class esRemoteDesktopServices : Microsoft.Web.Services3.WebServicesClientProtocol {
+
+ ///
+ public esRemoteDesktopServices() {
+ this.Url = "http://localhost:9002/esRemoteDesktopServices.asmx";
+ }
+ }
+}
diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/WebsitePanel.EnterpriseServer.Client.csproj b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/WebsitePanel.EnterpriseServer.Client.csproj
index d2540553..bb963506 100644
--- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/WebsitePanel.EnterpriseServer.Client.csproj
+++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/WebsitePanel.EnterpriseServer.Client.csproj
@@ -89,6 +89,7 @@
+
diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/RemoteDesktopServices/RemoteDesktopServicesController.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/RemoteDesktopServices/RemoteDesktopServicesController.cs
new file mode 100644
index 00000000..19a236ec
--- /dev/null
+++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/RemoteDesktopServices/RemoteDesktopServicesController.cs
@@ -0,0 +1,46 @@
+// Copyright (c) 2012, Outercurve Foundation.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without modification,
+// are permitted provided that the following conditions are met:
+//
+// - Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// - Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// - Neither the name of the Outercurve Foundation nor the names of its
+// contributors may be used to endorse or promote products derived from this
+// software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
+// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+using System;
+using System.Xml;
+using System.Data;
+using System.Collections.Specialized;
+using System.Collections.Generic;
+using System.Text;
+
+namespace WebsitePanel.EnterpriseServer
+{
+ public class RemoteDesktopServicesController
+ {
+ private RemoteDesktopServicesController()
+ {
+ }
+
+
+ }
+}
\ No newline at end of file
diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/WebsitePanel.EnterpriseServer.csproj b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/WebsitePanel.EnterpriseServer.csproj
index 98a5db62..269e2587 100644
--- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/WebsitePanel.EnterpriseServer.csproj
+++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/WebsitePanel.EnterpriseServer.csproj
@@ -83,6 +83,7 @@
+
@@ -142,6 +143,7 @@
+
@@ -247,6 +249,10 @@
+
+ esRemoteDesktopServices.asmx
+ Component
+
esHeliconZoo.asmx
Component
diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esRemoteDesktopServices.asmx b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esRemoteDesktopServices.asmx
new file mode 100644
index 00000000..9540a12d
--- /dev/null
+++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esRemoteDesktopServices.asmx
@@ -0,0 +1 @@
+<%@ WebService Language="C#" CodeBehind="esRemoteDesktopServices.asmx.cs" Class="WebsitePanel.EnterpriseServer.esRemoteDesktopServices" %>
diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esRemoteDesktopServices.asmx.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esRemoteDesktopServices.asmx.cs
new file mode 100644
index 00000000..49695866
--- /dev/null
+++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esRemoteDesktopServices.asmx.cs
@@ -0,0 +1,63 @@
+// Copyright (c) 2012, Outercurve Foundation.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without modification,
+// are permitted provided that the following conditions are met:
+//
+// - Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// - Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// - Neither the name of the Outercurve Foundation nor the names of its
+// contributors may be used to endorse or promote products derived from this
+// software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
+// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+using System;
+using System.Data;
+using System.Web;
+using System.Collections;
+using System.Collections.Generic;
+using System.Web.Services;
+using System.Web.Services.Protocols;
+using System.ComponentModel;
+
+using Microsoft.Web.Services3;
+
+using WebsitePanel.Providers.RemoteDesktopServices;
+
+namespace WebsitePanel.EnterpriseServer
+{
+ ///
+ /// Summary description for esApplicationsInstaller
+ ///
+ [WebService(Namespace = "http://smbsaas/websitepanel/enterpriseserver")]
+ [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
+ [Policy("ServerPolicy")]
+ [ToolboxItem(false)]
+ public class esRemoteDesktopServices : System.Web.Services.WebService
+ {
+ /*
+ [WebMethod]
+ public DataSet GetRawOdbcSourcesPaged(int packageId,
+ string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows)
+ {
+ return OperatingSystemController.GetRawOdbcSourcesPaged(packageId, filterColumn,
+ filterValue, sortColumn, startRow, maximumRows);
+ }
+ */
+ }
+}
diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/RemoteDesktopServices/IRemoteDesktopServices.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/RemoteDesktopServices/IRemoteDesktopServices.cs
new file mode 100644
index 00000000..6f4e773c
--- /dev/null
+++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/RemoteDesktopServices/IRemoteDesktopServices.cs
@@ -0,0 +1,41 @@
+// Copyright (c) 2012, Outercurve Foundation.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without modification,
+// are permitted provided that the following conditions are met:
+//
+// - Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// - Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// - Neither the name of the Outercurve Foundation nor the names of its
+// contributors may be used to endorse or promote products derived from this
+// software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
+// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+using System;
+using System.Collections;
+
+namespace WebsitePanel.Providers.RemoteDesktopServices
+{
+ ///
+ /// Summary description for IRemoteDesktopServices.
+ ///
+ public interface IRemoteDesktopServices
+ {
+
+ }
+}
diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/WebsitePanel.Providers.Base.csproj b/WebsitePanel/Sources/WebsitePanel.Providers.Base/WebsitePanel.Providers.Base.csproj
index 9b6ebfe7..17780132 100644
--- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/WebsitePanel.Providers.Base.csproj
+++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/WebsitePanel.Providers.Base.csproj
@@ -101,6 +101,7 @@
+
diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.TerminalServices.Windows2012/Properties/AssemblyInfo.cs b/WebsitePanel/Sources/WebsitePanel.Providers.TerminalServices.Windows2012/Properties/AssemblyInfo.cs
new file mode 100644
index 00000000..1b2fbb52
--- /dev/null
+++ b/WebsitePanel/Sources/WebsitePanel.Providers.TerminalServices.Windows2012/Properties/AssemblyInfo.cs
@@ -0,0 +1,22 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("WebsitePanel.Providers.RemoteDesktopServices.Windows2012")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyProduct("WebsitePanel.Providers.RemoteDesktopServices.Windows2012")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components. If you need to access a type in this assembly from
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("bec9fe6e-d9f3-4f13-a1e7-2a6ae97c7cc4")]
+
diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.TerminalServices.Windows2012/VersionInfo.cs b/WebsitePanel/Sources/WebsitePanel.Providers.TerminalServices.Windows2012/VersionInfo.cs
new file mode 100644
index 00000000..21706457
--- /dev/null
+++ b/WebsitePanel/Sources/WebsitePanel.Providers.TerminalServices.Windows2012/VersionInfo.cs
@@ -0,0 +1,20 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.18010
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+using System;
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+[assembly: AssemblyCompany("Outercurve Foundation")]
+[assembly: AssemblyCopyright("Copyright © 2012 Outercurve Foundation.")]
+[assembly: AssemblyVersion("2.1.0.1")]
+[assembly: AssemblyFileVersion("2.1.0.1")]
+[assembly: AssemblyInformationalVersion("2.1.0")]
diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.TerminalServices.Windows2012/WebsitePanel.Providers.RemoteDesktopServices.Windows2012.csproj b/WebsitePanel/Sources/WebsitePanel.Providers.TerminalServices.Windows2012/WebsitePanel.Providers.RemoteDesktopServices.Windows2012.csproj
new file mode 100644
index 00000000..ded2184e
--- /dev/null
+++ b/WebsitePanel/Sources/WebsitePanel.Providers.TerminalServices.Windows2012/WebsitePanel.Providers.RemoteDesktopServices.Windows2012.csproj
@@ -0,0 +1,57 @@
+
+
+
+
+ Debug
+ AnyCPU
+ {411EFA7F-DE87-4D37-BD15-95787CF77411}
+ Library
+ Properties
+ WebsitePanel.Providers.RemoteDesktopServices.Windows2012
+ WebsitePanel.Providers.RemoteDesktopServices.Windows2012
+ v3.5
+ 512
+
+
+
+ true
+ full
+ false
+ ..\WebsitePanel.Server\bin\
+ DEBUG;TRACE
+ prompt
+ 4
+
+
+ pdbonly
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 4
+
+
+
+
+
+
+ ..\..\Bin\WebsitePanel.Providers.Base.dll
+
+
+ ..\WebsitePanel.Server.Utils\bin\Debug\WebsitePanel.Server.Utils.dll
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.TerminalServices.Windows2012/Windows2012.cs b/WebsitePanel/Sources/WebsitePanel.Providers.TerminalServices.Windows2012/Windows2012.cs
new file mode 100644
index 00000000..db397ea8
--- /dev/null
+++ b/WebsitePanel/Sources/WebsitePanel.Providers.TerminalServices.Windows2012/Windows2012.cs
@@ -0,0 +1,100 @@
+using System;
+using System.IO;
+using System.Collections.Generic;
+using System.Text;
+using Microsoft.Win32;
+
+using WebsitePanel.Server.Utils;
+using WebsitePanel.Providers.Utils;
+using WebsitePanel.Providers.OS;
+
+
+namespace WebsitePanel.Providers.RemoteDesktopServices
+{
+ public class Windows2012 : HostingServiceProviderBase
+ {
+
+ #region Properties
+ protected string UsersHome
+ {
+ get { return FileUtils.EvaluateSystemVariables(ProviderSettings["UsersHome"]); }
+ }
+ #endregion
+
+
+ #region HostingServiceProvider methods
+ public override string[] Install()
+ {
+ List messages = new List();
+
+ // create folder if it not exists
+ try
+ {
+ if (!FileUtils.DirectoryExists(UsersHome))
+ {
+ FileUtils.CreateDirectory(UsersHome);
+ }
+ }
+ catch (Exception ex)
+ {
+ messages.Add(String.Format("Folder '{0}' could not be created: {1}",
+ UsersHome, ex.Message));
+ }
+ return messages.ToArray();
+ }
+
+ public override void DeleteServiceItems(ServiceProviderItem[] items)
+ {
+ foreach (ServiceProviderItem item in items)
+ {
+ try
+ {
+ if (item is HomeFolder)
+ // delete home folder
+ FileUtils.DeleteFile(item.Name);
+ }
+ catch (Exception ex)
+ {
+ Log.WriteError(String.Format("Error deleting '{0}' {1}", item.Name, item.GetType().Name), ex);
+ }
+ }
+ }
+
+ public override ServiceProviderItemDiskSpace[] GetServiceItemsDiskSpace(ServiceProviderItem[] items)
+ {
+ List itemsDiskspace = new List();
+ foreach (ServiceProviderItem item in items)
+ {
+ if (item is HomeFolder)
+ {
+ try
+ {
+ string path = item.Name;
+
+ Log.WriteStart(String.Format("Calculating '{0}' folder size", path));
+
+ // calculate disk space
+ ServiceProviderItemDiskSpace diskspace = new ServiceProviderItemDiskSpace();
+ diskspace.ItemId = item.Id;
+ diskspace.DiskSpace = FileUtils.CalculateFolderSize(path);
+ itemsDiskspace.Add(diskspace);
+
+ Log.WriteEnd(String.Format("Calculating '{0}' folder size", path));
+ }
+ catch (Exception ex)
+ {
+ Log.WriteError(ex);
+ }
+ }
+ }
+ return itemsDiskspace.ToArray();
+ }
+ #endregion
+
+ public override bool IsInstalled()
+ {
+ Server.Utils.OS.WindowsVersion version = WebsitePanel.Server.Utils.OS.GetVersion();
+ return version == WebsitePanel.Server.Utils.OS.WindowsVersion.WindowsServer2012;
+ }
+ }
+}
diff --git a/WebsitePanel/Sources/WebsitePanel.Server.Client/ExchangeServerProxy.cs b/WebsitePanel/Sources/WebsitePanel.Server.Client/ExchangeServerProxy.cs
index a934bf30..6c5f69d0 100644
--- a/WebsitePanel/Sources/WebsitePanel.Server.Client/ExchangeServerProxy.cs
+++ b/WebsitePanel/Sources/WebsitePanel.Server.Client/ExchangeServerProxy.cs
@@ -26,6 +26,15 @@
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Runtime Version:2.0.50727.42
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
//
// This code was generated by a tool.
@@ -39,6 +48,9 @@
//
// This source code was auto-generated by wsdl, Version=2.0.50727.3038.
//
+
+using WebsitePanel.Providers.HostedSolution;
+
namespace WebsitePanel.Providers.Exchange {
using System.Xml.Serialization;
using System.Web.Services;
@@ -46,9 +58,8 @@ namespace WebsitePanel.Providers.Exchange {
using System.Web.Services.Protocols;
using System;
using System.Diagnostics;
-
- using WebsitePanel.Providers.HostedSolution;
-
+
+
///
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
diff --git a/WebsitePanel/Sources/WebsitePanel.Server.Client/RemoteDesktopServicesProxy.cs b/WebsitePanel/Sources/WebsitePanel.Server.Client/RemoteDesktopServicesProxy.cs
new file mode 100644
index 00000000..a1c4f4ad
--- /dev/null
+++ b/WebsitePanel/Sources/WebsitePanel.Server.Client/RemoteDesktopServicesProxy.cs
@@ -0,0 +1,67 @@
+// Copyright (c) 2012, Outercurve Foundation.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without modification,
+// are permitted provided that the following conditions are met:
+//
+// - Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// - Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// - Neither the name of the Outercurve Foundation nor the names of its
+// contributors may be used to endorse or promote products derived from this
+// software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
+// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Runtime Version:2.0.50727.6400
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+//
+// This source code was auto-generated by wsdl, Version=2.0.50727.3038.
+//
+
+using WebsitePanel.Providers.HostedSolution;
+
+namespace WebsitePanel.Providers.RemoteDesktopServices {
+ using System.Xml.Serialization;
+ using System.Web.Services;
+ using System.ComponentModel;
+ using System.Web.Services.Protocols;
+ using System;
+ using System.Diagnostics;
+
+
+ ///
+ // CODEGEN: No methods were found in the WSDL for this protocol.
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.ComponentModel.DesignerCategoryAttribute("code")]
+ [System.Web.Services.WebServiceBindingAttribute(Name="RemoteDesktopServicesSoap", Namespace="http://smbsaas/websitepanel/server/")]
+ public partial class RemoteDesktopServices : Microsoft.Web.Services3.WebServicesClientProtocol {
+
+ ///
+ public RemoteDesktopServices() {
+ this.Url = "http://localhost:9003/RemoteDesktopServices.asmx";
+ }
+ }
+}
diff --git a/WebsitePanel/Sources/WebsitePanel.Server.Client/WebsitePanel.Server.Client.csproj b/WebsitePanel/Sources/WebsitePanel.Server.Client/WebsitePanel.Server.Client.csproj
index 4412a312..fa87e608 100644
--- a/WebsitePanel/Sources/WebsitePanel.Server.Client/WebsitePanel.Server.Client.csproj
+++ b/WebsitePanel/Sources/WebsitePanel.Server.Client/WebsitePanel.Server.Client.csproj
@@ -89,6 +89,7 @@
+
diff --git a/WebsitePanel/Sources/WebsitePanel.Server.sln b/WebsitePanel/Sources/WebsitePanel.Server.sln
index 57bd62de..0f3052c7 100644
--- a/WebsitePanel/Sources/WebsitePanel.Server.sln
+++ b/WebsitePanel/Sources/WebsitePanel.Server.sln
@@ -134,6 +134,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WebsitePanel.Providers.Host
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WebsitePanel.Providers.HostedSolution.Lync2013", "WebsitePanel.Providers.HostedSolution.Lync2013\WebsitePanel.Providers.HostedSolution.Lync2013.csproj", "{EF36A05F-5573-4ED2-A47D-689F1CA1A209}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WebsitePanel.Providers.RemoteDesktopServices.Windows2012", "WebsitePanel.Providers.TerminalServices.Windows2012\WebsitePanel.Providers.RemoteDesktopServices.Windows2012.csproj", "{411EFA7F-DE87-4D37-BD15-95787CF77411}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -684,6 +686,16 @@ Global
{EF36A05F-5573-4ED2-A47D-689F1CA1A209}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{EF36A05F-5573-4ED2-A47D-689F1CA1A209}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{EF36A05F-5573-4ED2-A47D-689F1CA1A209}.Release|x86.ActiveCfg = Release|Any CPU
+ {411EFA7F-DE87-4D37-BD15-95787CF77411}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {411EFA7F-DE87-4D37-BD15-95787CF77411}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {411EFA7F-DE87-4D37-BD15-95787CF77411}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
+ {411EFA7F-DE87-4D37-BD15-95787CF77411}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
+ {411EFA7F-DE87-4D37-BD15-95787CF77411}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {411EFA7F-DE87-4D37-BD15-95787CF77411}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {411EFA7F-DE87-4D37-BD15-95787CF77411}.Release|Any CPU.Build.0 = Release|Any CPU
+ {411EFA7F-DE87-4D37-BD15-95787CF77411}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
+ {411EFA7F-DE87-4D37-BD15-95787CF77411}.Release|Mixed Platforms.Build.0 = Release|Any CPU
+ {411EFA7F-DE87-4D37-BD15-95787CF77411}.Release|x86.ActiveCfg = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/WebsitePanel/Sources/WebsitePanel.Server/RemoteDesktopServices.asmx b/WebsitePanel/Sources/WebsitePanel.Server/RemoteDesktopServices.asmx
new file mode 100644
index 00000000..cf3f5fb0
--- /dev/null
+++ b/WebsitePanel/Sources/WebsitePanel.Server/RemoteDesktopServices.asmx
@@ -0,0 +1 @@
+<%@ WebService Language="C#" CodeBehind="RemoteDesktopServices.asmx.cs" Class="WebsitePanel.Server.RemoteDesktopServices" %>
diff --git a/WebsitePanel/Sources/WebsitePanel.Server/RemoteDesktopServices.asmx.cs b/WebsitePanel/Sources/WebsitePanel.Server/RemoteDesktopServices.asmx.cs
new file mode 100644
index 00000000..d5530690
--- /dev/null
+++ b/WebsitePanel/Sources/WebsitePanel.Server/RemoteDesktopServices.asmx.cs
@@ -0,0 +1,61 @@
+// Copyright (c) 2012, Outercurve Foundation.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without modification,
+// are permitted provided that the following conditions are met:
+//
+// - Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// - Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// - Neither the name of the Outercurve Foundation nor the names of its
+// contributors may be used to endorse or promote products derived from this
+// software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
+// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+using System;
+using System.Data;
+using System.Web;
+using System.Collections;
+using System.Web.Services;
+using System.Web.Services.Protocols;
+using System.ComponentModel;
+using Microsoft.Web.Services3;
+
+using WebsitePanel.Providers;
+using WebsitePanel.Providers.RemoteDesktopServices;
+using WebsitePanel.Server.Utils;
+
+namespace WebsitePanel.Server
+{
+ ///
+ /// Summary description for RemoteDesktopServices
+ ///
+ [WebService(Namespace = "http://smbsaas/websitepanel/server/")]
+ [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
+ [Policy("ServerPolicy")]
+ [ToolboxItem(false)]
+ public class RemoteDesktopServices : HostingServiceProviderWebService, IRemoteDesktopServices
+ {
+ private IRemoteDesktopServices RDSProvider
+ {
+ get { return (IRemoteDesktopServices)Provider; }
+ }
+
+
+ }
+
+}
diff --git a/WebsitePanel/Sources/WebsitePanel.Server/WebsitePanel.Server.csproj b/WebsitePanel/Sources/WebsitePanel.Server/WebsitePanel.Server.csproj
index 54e11a29..adcbabbd 100644
--- a/WebsitePanel/Sources/WebsitePanel.Server/WebsitePanel.Server.csproj
+++ b/WebsitePanel/Sources/WebsitePanel.Server/WebsitePanel.Server.csproj
@@ -85,6 +85,7 @@
+
@@ -127,6 +128,10 @@
+
+ RemoteDesktopServices.asmx
+ Component
+
HeliconZoo.asmx
Component
diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/App_GlobalResources/WebsitePanel_SharedResources.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/App_GlobalResources/WebsitePanel_SharedResources.ascx.resx
index ac187873..403484e1 100644
--- a/WebsitePanel/Sources/WebsitePanel.WebPortal/App_GlobalResources/WebsitePanel_SharedResources.ascx.resx
+++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/App_GlobalResources/WebsitePanel_SharedResources.ascx.resx
@@ -1890,12 +1890,15 @@
SQL Server 2008
-
- SQL Server 2012
+
+ Remote Desktop Services
MySQL 5
+
+ SQL Server 2012
+
Minimum Tasks Interval, minutes
diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/App_LocalResources/RemoteDesktopServices_Settings.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/App_LocalResources/RemoteDesktopServices_Settings.ascx.resx
new file mode 100644
index 00000000..95d5c82f
--- /dev/null
+++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/App_LocalResources/RemoteDesktopServices_Settings.ascx.resx
@@ -0,0 +1,129 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ Enable Hard Quota:
+
+
+ Location Drive:
+
+
+ Remote Desktop Spaces Folder:
+
+
\ No newline at end of file
diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/RemoteDesktopServices_Settings.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/RemoteDesktopServices_Settings.ascx
new file mode 100644
index 00000000..95a4df5c
--- /dev/null
+++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/RemoteDesktopServices_Settings.ascx
@@ -0,0 +1,36 @@
+<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="RemoteDesktopServices_Settings.ascx.cs" Inherits="WebsitePanel.Portal.ProviderControls.RemoteDesktopServices_Settings" %>
+
+
+
+
+ |
+
+ |
+
+
+
+
+ |
+
+
+
+
+ |
+
+
+ |
+
+
+ |
+
+
diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/RemoteDesktopServices_Settings.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/RemoteDesktopServices_Settings.ascx.cs
new file mode 100644
index 00000000..4511c946
--- /dev/null
+++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/RemoteDesktopServices_Settings.ascx.cs
@@ -0,0 +1,83 @@
+// Copyright (c) 2012, Outercurve Foundation.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without modification,
+// are permitted provided that the following conditions are met:
+//
+// - Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// - Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// - Neither the name of the Outercurve Foundation nor the names of its
+// contributors may be used to endorse or promote products derived from this
+// software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
+// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+using System;
+using System.Data;
+using System.Configuration;
+using System.Collections;
+using System.Collections.Specialized;
+using System.Web;
+using System.Web.Security;
+using System.Web.UI;
+using System.Web.UI.WebControls;
+using System.Web.UI.WebControls.WebParts;
+using System.Web.UI.HtmlControls;
+
+namespace WebsitePanel.Portal.ProviderControls
+{
+ public partial class RemoteDesktopServices_Settings : WebsitePanelControlBase, IHostingServiceProviderSettings
+ {
+ protected void Page_Load(object sender, EventArgs e)
+ {
+ //CO Changes
+ if (!IsPostBack)
+ {
+ try
+ {
+ chkEnableHardQuota.Enabled = ES.Services.OperatingSystems.CheckFileServicesInstallation(PanelRequest.ServiceId);
+ txtLocationDrive.Enabled = chkEnableHardQuota.Enabled;
+ valLocationDrive.Enabled = chkEnableHardQuota.Enabled;
+ if (!chkEnableHardQuota.Enabled)
+ lblFileServiceInfo.Visible = true;
+ }
+ catch
+ {
+ }
+ }
+ //END
+ }
+
+ public void BindSettings(StringDictionary settings)
+ {
+ txtFolder.Text = settings["UsersHome"];
+ //CO Changes
+ txtLocationDrive.Text = settings["LocationDrive"];
+ chkEnableHardQuota.Checked = settings["EnableHardQuota"] == "true" ? true : false;
+ //END
+ }
+
+ public void SaveSettings(StringDictionary settings)
+ {
+ settings["UsersHome"] = txtFolder.Text;
+ //CO Changes
+ settings["LocationDrive"] = txtLocationDrive.Text;
+ settings["EnableHardQuota"] = chkEnableHardQuota.Checked.ToString().ToLower();
+ //END
+ }
+ }
+}
\ No newline at end of file
diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/RemoteDesktopServices_Settings.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/RemoteDesktopServices_Settings.ascx.designer.cs
new file mode 100644
index 00000000..d5a472ab
--- /dev/null
+++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/RemoteDesktopServices_Settings.ascx.designer.cs
@@ -0,0 +1,78 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+namespace WebsitePanel.Portal.ProviderControls {
+
+
+ public partial class RemoteDesktopServices_Settings {
+
+ ///
+ /// lblSpacesFolder control.
+ ///
+ ///
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
+ ///
+ protected global::System.Web.UI.WebControls.Label lblSpacesFolder;
+
+ ///
+ /// txtFolder control.
+ ///
+ ///
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
+ ///
+ protected global::System.Web.UI.WebControls.TextBox txtFolder;
+
+ ///
+ /// lblLocationDrive control.
+ ///
+ ///
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
+ ///
+ protected global::System.Web.UI.WebControls.Label lblLocationDrive;
+
+ ///
+ /// txtLocationDrive control.
+ ///
+ ///
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
+ ///
+ protected global::System.Web.UI.WebControls.TextBox txtLocationDrive;
+
+ ///
+ /// valLocationDrive control.
+ ///
+ ///
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
+ ///
+ protected global::System.Web.UI.WebControls.RequiredFieldValidator valLocationDrive;
+
+ ///
+ /// chkEnableHardQuota control.
+ ///
+ ///
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
+ ///
+ protected global::System.Web.UI.WebControls.CheckBox chkEnableHardQuota;
+
+ ///
+ /// lblFileServiceInfo control.
+ ///
+ ///
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
+ ///
+ protected global::System.Web.UI.WebControls.Label lblFileServiceInfo;
+ }
+}
diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebsitePanel.Portal.Modules.csproj b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebsitePanel.Portal.Modules.csproj
index ce7bb695..b2955660 100644
--- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebsitePanel.Portal.Modules.csproj
+++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebsitePanel.Portal.Modules.csproj
@@ -318,6 +318,13 @@
LyncUserPlanSelector.ascx
+
+ RemoteDesktopServices_Settings.ascx
+ ASPXCodeBehind
+
+
+ RemoteDesktopServices_Settings.ascx
+
CRM2011_Settings.ascx
ASPXCodeBehind
@@ -3851,6 +3858,7 @@
+
@@ -5021,6 +5029,9 @@
+
+ Designer
+
Designer
diff --git a/WebsitePanel/Sources/generate_es_proxies.bat b/WebsitePanel/Sources/generate_es_proxies.bat
index 4bde5550..f1175b50 100644
--- a/WebsitePanel/Sources/generate_es_proxies.bat
+++ b/WebsitePanel/Sources/generate_es_proxies.bat
@@ -56,8 +56,8 @@ REM %WSE_CLEAN% .\WebsitePanel.EnterpriseServer.Client\OCSProxy.cs
REM %WSDL% %SERVER_URL%/esOperatingSystems.asmx /out:.\WebsitePanel.EnterpriseServer.Client\OperatingSystemsProxy.cs /namespace:WebsitePanel.EnterpriseServer /type:webClient
REM %WSE_CLEAN% .\WebsitePanel.EnterpriseServer.Client\OperatingSystemsProxy.cs
-%WSDL% %SERVER_URL%/esOrganizations.asmx /out:.\WebsitePanel.EnterpriseServer.Client\OrganizationProxy.cs /namespace:WebsitePanel.EnterpriseServer.HostedSolution /type:webClient
-%WSE_CLEAN% .\WebsitePanel.EnterpriseServer.Client\OrganizationProxy.cs
+REM %WSDL% %SERVER_URL%/esOrganizations.asmx /out:.\WebsitePanel.EnterpriseServer.Client\OrganizationProxy.cs /namespace:WebsitePanel.EnterpriseServer.HostedSolution /type:webClient
+REM %WSE_CLEAN% .\WebsitePanel.EnterpriseServer.Client\OrganizationProxy.cs
REM %WSDL% %SERVER_URL%/esPackages.asmx /out:.\WebsitePanel.EnterpriseServer.Client\PackagesProxy.cs /namespace:WebsitePanel.EnterpriseServer /type:webClient
REM %WSE_CLEAN% .\WebsitePanel.EnterpriseServer.Client\PackagesProxy.cs
@@ -98,7 +98,8 @@ REM %WSE_CLEAN% .\WebsitePanel.EnterpriseServer.Client\LyncProxy.cs
REM %WSDL% %SERVER_URL%/esHeliconZoo.asmx /out:.\WebsitePanel.EnterpriseServer.Client\HeliconZooProxy.cs /namespace:WebsitePanel.EnterpriseServer /type:webClient
REM %WSE_CLEAN% .\WebsitePanel.EnterpriseServer.Client\HeliconZooProxy.cs
-
+%WSDL% %SERVER_URL%/esRemoteDesktopServices.asmx /out:.\WebsitePanel.EnterpriseServer.Client\RemoteDesktopServicesProxy.cs /namespace:WebsitePanel.EnterpriseServer /type:webClient
+%WSE_CLEAN% .\WebsitePanel.EnterpriseServer.Client\RemoteDesktopServicesProxy.cs
diff --git a/WebsitePanel/Sources/generate_server_proxies.bat b/WebsitePanel/Sources/generate_server_proxies.bat
index 0256ae16..4fec80fa 100644
--- a/WebsitePanel/Sources/generate_server_proxies.bat
+++ b/WebsitePanel/Sources/generate_server_proxies.bat
@@ -17,8 +17,8 @@ REM %WSE_CLEAN% .\WebsitePanel.Server.Client\DatabaseServerProxy.cs
REM %WSDL% %SERVER_URL%/DNSServer.asmx /out:.\WebsitePanel.Server.Client\DnsServerProxy.cs /namespace:WebsitePanel.Providers.DNS /type:webClient /fields
REM %WSE_CLEAN% .\WebsitePanel.Server.Client\DnsServerProxy.cs
-%WSDL% %SERVER_URL%/ExchangeServer.asmx /out:.\WebsitePanel.Server.Client\ExchangeServerProxy.cs /namespace:WebsitePanel.Providers.Exchange /type:webClient /fields
-%WSE_CLEAN% .\WebsitePanel.Server.Client\ExchangeServerProxy.cs
+REM %WSDL% %SERVER_URL%/ExchangeServer.asmx /out:.\WebsitePanel.Server.Client\ExchangeServerProxy.cs /namespace:WebsitePanel.Providers.Exchange /type:webClient /fields
+REM %WSE_CLEAN% .\WebsitePanel.Server.Client\ExchangeServerProxy.cs
REM %WSDL% %SERVER_URL%/ExchangeServerHostedEdition.asmx /out:.\WebsitePanel.Server.Client\ExchangeServerHostedEditionProxy.cs /namespace:WebsitePanel.Providers.ExchangeHostedEdition /type:webClient /fields
REM %WSE_CLEAN% .\WebsitePanel.Server.Client\ExchangeServerHostedEditionProxy.cs
@@ -61,3 +61,6 @@ REM %WSE_CLEAN% .\WebsitePanel.Server.Client\LyncServerProxy.cs
REM %WSDL% %SERVER_URL%/HeliconZoo.asmx /out:.\WebsitePanel.Server.Client\HeliconZooProxy.cs /namespace:WebsitePanel.Providers.HeliconZoo /type:webClient /fields
REM %WSE_CLEAN% .\WebsitePanel.Server.Client\HeliconZooProxy.cs
+
+%WSDL% %SERVER_URL%/RemoteDesktopServices.asmx /out:.\WebsitePanel.Server.Client\RemoteDesktopServicesProxy.cs /namespace:WebsitePanel.Providers.RemoteDesktopServices /type:webClient /fields
+%WSE_CLEAN% .\WebsitePanel.Server.Client\RemoteDesktopServicesProxy.cs