Support Exchange 2013 Added

This commit is contained in:
robvde 2012-10-28 23:21:55 +04:00
parent 50f0d4f2c0
commit c5430fa31e
7 changed files with 5135 additions and 5104 deletions

View file

@ -6416,3 +6416,22 @@ exec sp_executesql @sql, N'@StartRow int, @MaximumRows int, @PackageID int, @Fil
RETURN RETURN
GO GO
-- Version 2.1 section
IF NOT EXISTS (SELECT * FROM [dbo].[Providers] WHERE [DisplayName] = 'Hosted Microsoft Exchange Server 2013')
BEGIN
INSERT [dbo].[Providers] ([ProviderId], [GroupId], [ProviderName], [DisplayName], [ProviderType], [EditorControl], [DisableAutoDiscovery]) VALUES(91, 12, N'Exchange2013', N'Hosted Microsoft Exchange Server 2013', N'WebsitePanel.Providers.HostedSolution.Exchange2013, WebsitePanel.Providers.HostedSolution.Exchange2013', N'Exchange', 1)
END
ELSE
BEGIN
UPDATE [dbo].[Providers] SET [DisableAutoDiscovery] = NULL WHERE [DisplayName] = 'Hosted Microsoft Exchange Server 2013'
END
GO

View file

@ -249,7 +249,7 @@ namespace WebsitePanel.Providers.HostedSolution
SetMailboxPermissionsInternal(organizationId, accountName, sendAsAccounts, fullAccessAccounts); SetMailboxPermissionsInternal(organizationId, accountName, sendAsAccounts, fullAccessAccounts);
} }
/* /*
public string CreateMailbox(string organizationId, string organizationDistinguishedName, public string CreateMailbox(string organizationId, string organizationDistinguishedName,
string mailboxDatabase, string securityGroup, string offlineAddressBook, ExchangeAccountType accountType, string mailboxDatabase, string securityGroup, string offlineAddressBook, ExchangeAccountType accountType,
string displayName, string displayName,
@ -262,7 +262,7 @@ namespace WebsitePanel.Providers.HostedSolution
enableOWA, enableMAPI, enableActiveSync, enableOWA, enableMAPI, enableActiveSync,
issueWarningKB, prohibitSendKB, prohibitSendReceiveKB, keepDeletedItemsDays); issueWarningKB, prohibitSendKB, prohibitSendReceiveKB, keepDeletedItemsDays);
} }
*/ */
public void DeleteMailbox(string accountName) public void DeleteMailbox(string accountName)
{ {
DeleteMailboxInternal(accountName); DeleteMailboxInternal(accountName);
@ -1766,14 +1766,14 @@ namespace WebsitePanel.Providers.HostedSolution
public string CreateMailEnableUser(string upn, string organizationId, string organizationDistinguishedName, ExchangeAccountType accountType, public string CreateMailEnableUser(string upn, string organizationId, string organizationDistinguishedName, ExchangeAccountType accountType,
string mailboxDatabase, string offlineAddressBook,string addressBookPolicy, string mailboxDatabase, string offlineAddressBook, string addressBookPolicy,
string accountName, bool enablePOP, bool enableIMAP, string accountName, bool enablePOP, bool enableIMAP,
bool enableOWA, bool enableMAPI, bool enableActiveSync, bool enableOWA, bool enableMAPI, bool enableActiveSync,
long issueWarningKB, long prohibitSendKB, long prohibitSendReceiveKB, int keepDeletedItemsDays, long issueWarningKB, long prohibitSendKB, long prohibitSendReceiveKB, int keepDeletedItemsDays,
int maxRecipients, int maxSendMessageSizeKB, int maxReceiveMessageSizeKB, bool hideFromAddressBook, bool IsConsumer) int maxRecipients, int maxSendMessageSizeKB, int maxReceiveMessageSizeKB, bool hideFromAddressBook, bool IsConsumer)
{ {
return CreateMailEnableUserInternal(upn, organizationId, organizationDistinguishedName, accountType, return CreateMailEnableUserInternal(upn, organizationId, organizationDistinguishedName, accountType,
mailboxDatabase, offlineAddressBook,addressBookPolicy, mailboxDatabase, offlineAddressBook, addressBookPolicy,
accountName, enablePOP, enableIMAP, accountName, enablePOP, enableIMAP,
enableOWA, enableMAPI, enableActiveSync, enableOWA, enableMAPI, enableActiveSync,
issueWarningKB, prohibitSendKB, prohibitSendReceiveKB, issueWarningKB, prohibitSendKB, prohibitSendReceiveKB,
@ -4465,7 +4465,7 @@ namespace WebsitePanel.Providers.HostedSolution
{ {
try try
{ {
RemovePublicFolderClientPermission( runSpace, RemovePublicFolderClientPermission(runSpace,
folder, folder,
existingAccount.AccountName.Contains("@") ? existingAccount.AccountName : @"\" + existingAccount.AccountName, existingAccount.AccountName.Contains("@") ? existingAccount.AccountName : @"\" + existingAccount.AccountName,
existingAccount.PublicFolderPermission); existingAccount.PublicFolderPermission);
@ -5975,7 +5975,7 @@ namespace WebsitePanel.Providers.HostedSolution
{ {
runSpace = OpenRunspace(); runSpace = OpenRunspace();
SetAcceptedDomainType(runSpace, domainName,domainType); SetAcceptedDomainType(runSpace, domainName, domainType);
} }
catch (Exception ex) catch (Exception ex)
{ {

View file

@ -85,7 +85,7 @@ namespace WebsitePanel.Providers.HostedSolution
string ret = null; string ret = null;
MultiValuedProperty<ADObjectId> ids = MultiValuedProperty<ADObjectId> ids =
(MultiValuedProperty<ADObjectId>)GetPSObjectProperty(group, "ManagedBy"); (MultiValuedProperty<ADObjectId>)GetPSObjectProperty(group, "ManagedBy");
if ( ids.Count > 0 ) if (ids.Count > 0)
ret = ObjToString(ids[0]); ret = ObjToString(ids[0]);
return ret; return ret;
} }

View file

@ -36,52 +36,52 @@ namespace WebsitePanel.Providers.HostedSolution
/// <summary> /// <summary>
/// Exchange Log Helper Methods /// Exchange Log Helper Methods
/// </summary> /// </summary>
internal class ExchangeLog public static class ExchangeLog
{ {
internal static string LogPrefix = "Exchange"; public static string LogPrefix = "Exchange";
internal static void LogStart(string message, params object[] args) public static void LogStart(string message, params object[] args)
{ {
string text = String.Format(message, args); string text = String.Format(message, args);
Log.WriteStart("{0} {1}", LogPrefix, text); Log.WriteStart("{0} {1}", LogPrefix, text);
} }
internal static void LogEnd(string message, params object[] args) public static void LogEnd(string message, params object[] args)
{ {
string text = String.Format(message, args); string text = String.Format(message, args);
Log.WriteEnd("{0} {1}", LogPrefix, text); Log.WriteEnd("{0} {1}", LogPrefix, text);
} }
internal static void LogInfo(string message, params object[] args) public static void LogInfo(string message, params object[] args)
{ {
string text = String.Format(message, args); string text = String.Format(message, args);
Log.WriteInfo("{0} {1}", LogPrefix, text); Log.WriteInfo("{0} {1}", LogPrefix, text);
} }
internal static void LogWarning(string message, params object[] args) public static void LogWarning(string message, params object[] args)
{ {
string text = String.Format(message, args); string text = String.Format(message, args);
Log.WriteWarning("{0} {1}", LogPrefix, text); Log.WriteWarning("{0} {1}", LogPrefix, text);
} }
internal static void LogError(Exception ex) public static void LogError(Exception ex)
{ {
Log.WriteError(LogPrefix, ex); Log.WriteError(LogPrefix, ex);
} }
internal static void LogError(string message, Exception ex) public static void LogError(string message, Exception ex)
{ {
string text = String.Format("{0} {1}", LogPrefix, message); string text = String.Format("{0} {1}", LogPrefix, message);
Log.WriteError(text, ex); Log.WriteError(text, ex);
} }
internal static void DebugInfo(string message, params object[] args) public static void DebugInfo(string message, params object[] args)
{ {
string text = String.Format(message, args); string text = String.Format(message, args);
Log.WriteInfo("{0} {1}", LogPrefix, text); Log.WriteInfo("{0} {1}", LogPrefix, text);
} }
internal static void DebugCommand(Command cmd) public static void DebugCommand(Command cmd)
{ {
StringBuilder sb = new StringBuilder(cmd.CommandText); StringBuilder sb = new StringBuilder(cmd.CommandText);
foreach (CommandParameter parameter in cmd.Parameters) foreach (CommandParameter parameter in cmd.Parameters)

View file

@ -30,7 +30,7 @@ using System.Collections.Generic;
namespace WebsitePanel.Providers.HostedSolution namespace WebsitePanel.Providers.HostedSolution
{ {
internal class ExchangeTransaction public class ExchangeTransaction
{ {
List<TransactionAction> actions = null; List<TransactionAction> actions = null;
@ -39,12 +39,12 @@ namespace WebsitePanel.Providers.HostedSolution
actions = new List<TransactionAction>(); actions = new List<TransactionAction>();
} }
internal List<TransactionAction> Actions public List<TransactionAction> Actions
{ {
get { return actions; } get { return actions; }
} }
internal void RegisterNewOrganizationUnit(string id) public void RegisterNewOrganizationUnit(string id)
{ {
TransactionAction action = new TransactionAction(); TransactionAction action = new TransactionAction();
action.ActionType = TransactionAction.TransactionActionTypes.CreateOrganizationUnit; action.ActionType = TransactionAction.TransactionActionTypes.CreateOrganizationUnit;
@ -69,7 +69,7 @@ namespace WebsitePanel.Providers.HostedSolution
Actions.Add(action); Actions.Add(action);
} }
internal void RegisterNewGlobalAddressList(string id) public void RegisterNewGlobalAddressList(string id)
{ {
TransactionAction action = new TransactionAction(); TransactionAction action = new TransactionAction();
action.ActionType = TransactionAction.TransactionActionTypes.CreateGlobalAddressList; action.ActionType = TransactionAction.TransactionActionTypes.CreateGlobalAddressList;
@ -77,7 +77,7 @@ namespace WebsitePanel.Providers.HostedSolution
Actions.Add(action); Actions.Add(action);
} }
internal void RegisterNewAddressList(string id) public void RegisterNewAddressList(string id)
{ {
TransactionAction action = new TransactionAction(); TransactionAction action = new TransactionAction();
action.ActionType = TransactionAction.TransactionActionTypes.CreateAddressList; action.ActionType = TransactionAction.TransactionActionTypes.CreateAddressList;
@ -85,7 +85,7 @@ namespace WebsitePanel.Providers.HostedSolution
Actions.Add(action); Actions.Add(action);
} }
internal void RegisterNewAddressBookPolicy(string id) public void RegisterNewAddressBookPolicy(string id)
{ {
TransactionAction action = new TransactionAction(); TransactionAction action = new TransactionAction();
action.ActionType = TransactionAction.TransactionActionTypes.CreateAddressBookPolicy; action.ActionType = TransactionAction.TransactionActionTypes.CreateAddressBookPolicy;
@ -94,7 +94,7 @@ namespace WebsitePanel.Providers.HostedSolution
} }
internal void RegisterNewRoomsAddressList(string id) public void RegisterNewRoomsAddressList(string id)
{ {
TransactionAction action = new TransactionAction(); TransactionAction action = new TransactionAction();
action.ActionType = TransactionAction.TransactionActionTypes.CreateAddressList; action.ActionType = TransactionAction.TransactionActionTypes.CreateAddressList;
@ -103,7 +103,7 @@ namespace WebsitePanel.Providers.HostedSolution
} }
internal void RegisterNewOfflineAddressBook(string id) public void RegisterNewOfflineAddressBook(string id)
{ {
TransactionAction action = new TransactionAction(); TransactionAction action = new TransactionAction();
action.ActionType = TransactionAction.TransactionActionTypes.CreateOfflineAddressBook; action.ActionType = TransactionAction.TransactionActionTypes.CreateOfflineAddressBook;
@ -111,7 +111,7 @@ namespace WebsitePanel.Providers.HostedSolution
Actions.Add(action); Actions.Add(action);
} }
internal void RegisterNewActiveSyncPolicy(string id) public void RegisterNewActiveSyncPolicy(string id)
{ {
TransactionAction action = new TransactionAction(); TransactionAction action = new TransactionAction();
action.ActionType = TransactionAction.TransactionActionTypes.CreateActiveSyncPolicy; action.ActionType = TransactionAction.TransactionActionTypes.CreateActiveSyncPolicy;
@ -120,7 +120,7 @@ namespace WebsitePanel.Providers.HostedSolution
} }
internal void RegisterNewAcceptedDomain(string id) public void RegisterNewAcceptedDomain(string id)
{ {
TransactionAction action = new TransactionAction(); TransactionAction action = new TransactionAction();
action.ActionType = TransactionAction.TransactionActionTypes.CreateAcceptedDomain; action.ActionType = TransactionAction.TransactionActionTypes.CreateAcceptedDomain;
@ -128,7 +128,7 @@ namespace WebsitePanel.Providers.HostedSolution
Actions.Add(action); Actions.Add(action);
} }
internal void RegisterNewUPNSuffix(string id, string suffix) public void RegisterNewUPNSuffix(string id, string suffix)
{ {
TransactionAction action = new TransactionAction(); TransactionAction action = new TransactionAction();
action.ActionType = TransactionAction.TransactionActionTypes.AddUPNSuffix; action.ActionType = TransactionAction.TransactionActionTypes.AddUPNSuffix;
@ -137,7 +137,7 @@ namespace WebsitePanel.Providers.HostedSolution
Actions.Add(action); Actions.Add(action);
} }
internal void RegisterNewMailbox(string id) public void RegisterNewMailbox(string id)
{ {
TransactionAction action = new TransactionAction(); TransactionAction action = new TransactionAction();
action.ActionType = TransactionAction.TransactionActionTypes.CreateMailbox; action.ActionType = TransactionAction.TransactionActionTypes.CreateMailbox;
@ -145,7 +145,7 @@ namespace WebsitePanel.Providers.HostedSolution
Actions.Add(action); Actions.Add(action);
} }
internal void RegisterEnableMailbox(string id) public void RegisterEnableMailbox(string id)
{ {
TransactionAction action = new TransactionAction(); TransactionAction action = new TransactionAction();
action.ActionType = TransactionAction.TransactionActionTypes.EnableMailbox; action.ActionType = TransactionAction.TransactionActionTypes.EnableMailbox;
@ -154,7 +154,7 @@ namespace WebsitePanel.Providers.HostedSolution
} }
internal void RegisterNewContact(string id) public void RegisterNewContact(string id)
{ {
TransactionAction action = new TransactionAction(); TransactionAction action = new TransactionAction();
action.ActionType = TransactionAction.TransactionActionTypes.CreateContact; action.ActionType = TransactionAction.TransactionActionTypes.CreateContact;
@ -162,7 +162,7 @@ namespace WebsitePanel.Providers.HostedSolution
Actions.Add(action); Actions.Add(action);
} }
internal void RegisterNewPublicFolder(string id) public void RegisterNewPublicFolder(string id)
{ {
TransactionAction action = new TransactionAction(); TransactionAction action = new TransactionAction();
action.ActionType = TransactionAction.TransactionActionTypes.CreatePublicFolder; action.ActionType = TransactionAction.TransactionActionTypes.CreatePublicFolder;
@ -170,7 +170,7 @@ namespace WebsitePanel.Providers.HostedSolution
Actions.Add(action); Actions.Add(action);
} }
internal void AddMailBoxFullAccessPermission(string accountName, string id) public void AddMailBoxFullAccessPermission(string accountName, string id)
{ {
TransactionAction action = new TransactionAction(); TransactionAction action = new TransactionAction();
action.ActionType = TransactionAction.TransactionActionTypes.AddMailboxFullAccessPermission; action.ActionType = TransactionAction.TransactionActionTypes.AddMailboxFullAccessPermission;
@ -179,7 +179,7 @@ namespace WebsitePanel.Providers.HostedSolution
Actions.Add(action); Actions.Add(action);
} }
internal void AddSendAsPermission(string accountName, string id) public void AddSendAsPermission(string accountName, string id)
{ {
TransactionAction action = new TransactionAction(); TransactionAction action = new TransactionAction();
action.ActionType = TransactionAction.TransactionActionTypes.AddSendAsPermission; action.ActionType = TransactionAction.TransactionActionTypes.AddSendAsPermission;
@ -188,7 +188,7 @@ namespace WebsitePanel.Providers.HostedSolution
Actions.Add(action); Actions.Add(action);
} }
internal void RemoveMailboxFullAccessPermission(string accountName, string id) public void RemoveMailboxFullAccessPermission(string accountName, string id)
{ {
TransactionAction action = new TransactionAction(); TransactionAction action = new TransactionAction();
action.ActionType = TransactionAction.TransactionActionTypes.RemoveMailboxFullAccessPermission; action.ActionType = TransactionAction.TransactionActionTypes.RemoveMailboxFullAccessPermission;
@ -197,7 +197,7 @@ namespace WebsitePanel.Providers.HostedSolution
Actions.Add(action); Actions.Add(action);
} }
internal void RemoveSendAsPermission(string accountName, string id) public void RemoveSendAsPermission(string accountName, string id)
{ {
TransactionAction action = new TransactionAction(); TransactionAction action = new TransactionAction();
action.ActionType = TransactionAction.TransactionActionTypes.RemoveSendAsPermission; action.ActionType = TransactionAction.TransactionActionTypes.RemoveSendAsPermission;

View file

@ -111,6 +111,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WebsitePanel.Providers.Web.
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WebsitePanel.Providers.FTP.IIs80", "WebsitePanel.Providers.FTP.IIs80\WebsitePanel.Providers.FTP.IIs80.csproj", "{D73CCF4C-9CFF-4D61-9030-34DCAF0C50D6}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WebsitePanel.Providers.FTP.IIs80", "WebsitePanel.Providers.FTP.IIs80\WebsitePanel.Providers.FTP.IIs80.csproj", "{D73CCF4C-9CFF-4D61-9030-34DCAF0C50D6}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WebsitePanel.Providers.HostedSolution.Exchange2013", "WebsitePanel.Providers.HostedSolution.Exchange2013\WebsitePanel.Providers.HostedSolution.Exchange2013.csproj", "{BC094166-B6A1-4D42-B53C-FF956FC7A4A1}"
EndProject
Global Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU Debug|Any CPU = Debug|Any CPU
@ -611,6 +613,16 @@ Global
{D73CCF4C-9CFF-4D61-9030-34DCAF0C50D6}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU {D73CCF4C-9CFF-4D61-9030-34DCAF0C50D6}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{D73CCF4C-9CFF-4D61-9030-34DCAF0C50D6}.Release|Mixed Platforms.Build.0 = Release|Any CPU {D73CCF4C-9CFF-4D61-9030-34DCAF0C50D6}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{D73CCF4C-9CFF-4D61-9030-34DCAF0C50D6}.Release|x86.ActiveCfg = Release|Any CPU {D73CCF4C-9CFF-4D61-9030-34DCAF0C50D6}.Release|x86.ActiveCfg = Release|Any CPU
{BC094166-B6A1-4D42-B53C-FF956FC7A4A1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{BC094166-B6A1-4D42-B53C-FF956FC7A4A1}.Debug|Any CPU.Build.0 = Debug|Any CPU
{BC094166-B6A1-4D42-B53C-FF956FC7A4A1}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{BC094166-B6A1-4D42-B53C-FF956FC7A4A1}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{BC094166-B6A1-4D42-B53C-FF956FC7A4A1}.Debug|x86.ActiveCfg = Debug|Any CPU
{BC094166-B6A1-4D42-B53C-FF956FC7A4A1}.Release|Any CPU.ActiveCfg = Release|Any CPU
{BC094166-B6A1-4D42-B53C-FF956FC7A4A1}.Release|Any CPU.Build.0 = Release|Any CPU
{BC094166-B6A1-4D42-B53C-FF956FC7A4A1}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{BC094166-B6A1-4D42-B53C-FF956FC7A4A1}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{BC094166-B6A1-4D42-B53C-FF956FC7A4A1}.Release|x86.ActiveCfg = Release|Any CPU
EndGlobalSection EndGlobalSection
GlobalSection(SolutionProperties) = preSolution GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE HideSolutionNode = FALSE