Public support added for Exchange 2013, Litigationhold implementation synced
with exchange 2013 provider
This commit is contained in:
parent
73cd732e6d
commit
22e56f6af2
9 changed files with 482 additions and 276 deletions
|
@ -836,7 +836,7 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
// get stats
|
// get stats
|
||||||
int exchangeServiceId = GetExchangeServiceID(org.PackageId);
|
int exchangeServiceId = GetExchangeServiceID(org.PackageId);
|
||||||
ExchangeServer exchange = GetExchangeServer(exchangeServiceId, org.ServiceId);
|
ExchangeServer exchange = GetExchangeServer(exchangeServiceId, org.ServiceId);
|
||||||
return exchange.GetPublicFoldersStatistics(folderNames.ToArray());
|
return exchange.GetPublicFoldersStatistics(org.OrganizationId, folderNames.ToArray());
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
|
@ -4073,7 +4073,7 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
PackageController.UpdatePackageItem(org);
|
PackageController.UpdatePackageItem(org);
|
||||||
}
|
}
|
||||||
|
|
||||||
exchange.CreatePublicFolder(
|
exchange.CreatePublicFolder(org.DistinguishedName,
|
||||||
org.OrganizationId,
|
org.OrganizationId,
|
||||||
org.SecurityGroup,
|
org.SecurityGroup,
|
||||||
parentFolder,
|
parentFolder,
|
||||||
|
@ -4084,7 +4084,7 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
domain);
|
domain);
|
||||||
|
|
||||||
|
|
||||||
ExchangePublicFolder folder = exchange.GetPublicFolderGeneralSettings(parentFolder + "\\" + folderName);
|
ExchangePublicFolder folder = exchange.GetPublicFolderGeneralSettings(org.OrganizationId, parentFolder + "\\" + folderName);
|
||||||
|
|
||||||
// add meta-item
|
// add meta-item
|
||||||
int accountId = AddAccount(itemId, ExchangeAccountType.PublicFolder, accountName,
|
int accountId = AddAccount(itemId, ExchangeAccountType.PublicFolder, accountName,
|
||||||
|
@ -4146,8 +4146,8 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
// delete folder
|
// delete folder
|
||||||
int exchangeServiceId = GetExchangeServiceID(org.PackageId);
|
int exchangeServiceId = GetExchangeServiceID(org.PackageId);
|
||||||
ExchangeServer exchange = GetExchangeServer(exchangeServiceId, org.ServiceId);
|
ExchangeServer exchange = GetExchangeServer(exchangeServiceId, org.ServiceId);
|
||||||
|
|
||||||
exchange.DeletePublicFolder(account.DisplayName);
|
exchange.DeletePublicFolder(org.OrganizationId, account.DisplayName);
|
||||||
|
|
||||||
// unregister account
|
// unregister account
|
||||||
DeleteAccount(itemId, accountId);
|
DeleteAccount(itemId, accountId);
|
||||||
|
@ -4268,8 +4268,8 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
|
|
||||||
int exchangeServiceId = GetExchangeServiceID(org.PackageId);
|
int exchangeServiceId = GetExchangeServiceID(org.PackageId);
|
||||||
ExchangeServer exchange = GetExchangeServer(exchangeServiceId, org.ServiceId);
|
ExchangeServer exchange = GetExchangeServer(exchangeServiceId, org.ServiceId);
|
||||||
|
|
||||||
exchange.DisableMailPublicFolder(account.DisplayName);
|
exchange.DisableMailPublicFolder(org.OrganizationId, account.DisplayName);
|
||||||
|
|
||||||
|
|
||||||
// update and save account
|
// update and save account
|
||||||
|
@ -4335,8 +4335,8 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
|
|
||||||
int exchangeServiceId = GetExchangeServiceID(org.PackageId);
|
int exchangeServiceId = GetExchangeServiceID(org.PackageId);
|
||||||
ExchangeServer exchange = GetExchangeServer(exchangeServiceId, org.ServiceId);
|
ExchangeServer exchange = GetExchangeServer(exchangeServiceId, org.ServiceId);
|
||||||
|
|
||||||
ExchangePublicFolder folder = exchange.GetPublicFolderGeneralSettings(account.DisplayName);
|
ExchangePublicFolder folder = exchange.GetPublicFolderGeneralSettings(org.OrganizationId, account.DisplayName);
|
||||||
folder.MailEnabled = account.MailEnabledPublicFolder;
|
folder.MailEnabled = account.MailEnabledPublicFolder;
|
||||||
folder.DisplayName = account.DisplayName;
|
folder.DisplayName = account.DisplayName;
|
||||||
return folder;
|
return folder;
|
||||||
|
@ -4381,6 +4381,7 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
ExchangeServer exchange = GetExchangeServer(exchangeServiceId, org.ServiceId);
|
ExchangeServer exchange = GetExchangeServer(exchangeServiceId, org.ServiceId);
|
||||||
|
|
||||||
exchange.SetPublicFolderGeneralSettings(
|
exchange.SetPublicFolderGeneralSettings(
|
||||||
|
org.OrganizationId,
|
||||||
account.DisplayName,
|
account.DisplayName,
|
||||||
newName,
|
newName,
|
||||||
hideAddressBook,
|
hideAddressBook,
|
||||||
|
@ -4448,8 +4449,8 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
// get mailbox settings
|
// get mailbox settings
|
||||||
int exchangeServiceId = GetExchangeServiceID(org.PackageId);
|
int exchangeServiceId = GetExchangeServiceID(org.PackageId);
|
||||||
ExchangeServer exchange = GetExchangeServer(exchangeServiceId, org.ServiceId);
|
ExchangeServer exchange = GetExchangeServer(exchangeServiceId, org.ServiceId);
|
||||||
|
|
||||||
ExchangePublicFolder folder = exchange.GetPublicFolderMailFlowSettings(account.DisplayName);
|
ExchangePublicFolder folder = exchange.GetPublicFolderMailFlowSettings(org.OrganizationId, account.DisplayName);
|
||||||
folder.DisplayName = account.DisplayName;
|
folder.DisplayName = account.DisplayName;
|
||||||
return folder;
|
return folder;
|
||||||
}
|
}
|
||||||
|
@ -4491,8 +4492,8 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
// get mailbox settings
|
// get mailbox settings
|
||||||
int exchangeServiceId = GetExchangeServiceID(org.PackageId);
|
int exchangeServiceId = GetExchangeServiceID(org.PackageId);
|
||||||
ExchangeServer exchange = GetExchangeServer(exchangeServiceId, org.ServiceId);
|
ExchangeServer exchange = GetExchangeServer(exchangeServiceId, org.ServiceId);
|
||||||
|
|
||||||
exchange.SetPublicFolderMailFlowSettings(account.DisplayName,
|
exchange.SetPublicFolderMailFlowSettings(org.OrganizationId, account.DisplayName,
|
||||||
acceptAccounts,
|
acceptAccounts,
|
||||||
rejectAccounts,
|
rejectAccounts,
|
||||||
requireSenderAuthentication);
|
requireSenderAuthentication);
|
||||||
|
@ -4565,6 +4566,7 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
ExchangeServer exchange = GetExchangeServer(exchangeServiceId, org.ServiceId);
|
ExchangeServer exchange = GetExchangeServer(exchangeServiceId, org.ServiceId);
|
||||||
|
|
||||||
exchange.SetPublicFolderEmailAddresses(
|
exchange.SetPublicFolderEmailAddresses(
|
||||||
|
org.OrganizationId,
|
||||||
account.DisplayName,
|
account.DisplayName,
|
||||||
GetAccountSimpleEmailAddresses(itemId, accountId));
|
GetAccountSimpleEmailAddresses(itemId, accountId));
|
||||||
|
|
||||||
|
@ -4609,6 +4611,7 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
ExchangeServer exchange = GetExchangeServer(exchangeServiceId, org.ServiceId);
|
ExchangeServer exchange = GetExchangeServer(exchangeServiceId, org.ServiceId);
|
||||||
|
|
||||||
exchange.SetPublicFolderPrimaryEmailAddress(
|
exchange.SetPublicFolderPrimaryEmailAddress(
|
||||||
|
org.OrganizationId,
|
||||||
account.DisplayName,
|
account.DisplayName,
|
||||||
emailAddress);
|
emailAddress);
|
||||||
|
|
||||||
|
@ -4664,6 +4667,7 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
ExchangeServer exchange = GetExchangeServer(exchangeServiceId, org.ServiceId);
|
ExchangeServer exchange = GetExchangeServer(exchangeServiceId, org.ServiceId);
|
||||||
|
|
||||||
exchange.SetPublicFolderEmailAddresses(
|
exchange.SetPublicFolderEmailAddresses(
|
||||||
|
org.OrganizationId,
|
||||||
account.DisplayName,
|
account.DisplayName,
|
||||||
GetAccountSimpleEmailAddresses(itemId, accountId));
|
GetAccountSimpleEmailAddresses(itemId, accountId));
|
||||||
|
|
||||||
|
|
|
@ -78,7 +78,7 @@ namespace WebsitePanel.EnterpriseServer.Code.HostedSolution
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
item.TotalPublicFoldersSize = exchange.GetPublicFolderSize("\\" + org.OrganizationId);
|
item.TotalPublicFoldersSize = exchange.GetPublicFolderSize(org.OrganizationId, "\\" + org.OrganizationId);
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
|
|
|
@ -96,20 +96,20 @@ namespace WebsitePanel.Providers.HostedSolution
|
||||||
void SetDistributionListPermissions(string organizationId, string accountName, string[] sendAsAccounts, string[] sendOnBehalfAccounts, string[] addressLists);
|
void SetDistributionListPermissions(string organizationId, string accountName, string[] sendAsAccounts, string[] sendOnBehalfAccounts, string[] addressLists);
|
||||||
|
|
||||||
// Public Folders
|
// Public Folders
|
||||||
void CreatePublicFolder(string organizationId, string securityGroup, string parentFolder, string folderName, bool mailEnabled, string accountName, string name, string domain);
|
void CreatePublicFolder(string organizationDistinguishedName, string organizationId, string securityGroup, string parentFolder, string folderName, bool mailEnabled, string accountName, string name, string domain);
|
||||||
void DeletePublicFolder(string folder);
|
void DeletePublicFolder(string organizationId, string folder);
|
||||||
void EnableMailPublicFolder(string organizationId, string folder, string accountName, string name, string domain);
|
void EnableMailPublicFolder(string organizationId, string folder, string accountName, string name, string domain);
|
||||||
void DisableMailPublicFolder(string folder);
|
void DisableMailPublicFolder(string organizationId, string folder);
|
||||||
ExchangePublicFolder GetPublicFolderGeneralSettings(string folder);
|
ExchangePublicFolder GetPublicFolderGeneralSettings(string organizationId, string folder);
|
||||||
void SetPublicFolderGeneralSettings(string folder, string newFolderName, bool hideFromAddressBook, ExchangeAccount[] accounts );
|
void SetPublicFolderGeneralSettings(string organizationId, string folder, string newFolderName, bool hideFromAddressBook, ExchangeAccount[] accounts);
|
||||||
ExchangePublicFolder GetPublicFolderMailFlowSettings(string folder);
|
ExchangePublicFolder GetPublicFolderMailFlowSettings(string organizationId, string folder);
|
||||||
void SetPublicFolderMailFlowSettings(string folder, string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication);
|
void SetPublicFolderMailFlowSettings(string organizationId, string folder, string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication);
|
||||||
ExchangeEmailAddress[] GetPublicFolderEmailAddresses(string folder);
|
ExchangeEmailAddress[] GetPublicFolderEmailAddresses(string organizationId, string folder);
|
||||||
void SetPublicFolderEmailAddresses(string folder, string[] emailAddresses);
|
void SetPublicFolderEmailAddresses(string organizationId, string folder, string[] emailAddresses);
|
||||||
void SetPublicFolderPrimaryEmailAddress(string folder, string emailAddress);
|
void SetPublicFolderPrimaryEmailAddress(string organizationId, string folder, string emailAddress);
|
||||||
ExchangeItemStatistics[] GetPublicFoldersStatistics(string[] folders);
|
ExchangeItemStatistics[] GetPublicFoldersStatistics(string organizationId, string[] folders);
|
||||||
string[] GetPublicFoldersRecursive(string parent);
|
string[] GetPublicFoldersRecursive(string organizationId, string parent);
|
||||||
long GetPublicFolderSize(string folder);
|
long GetPublicFolderSize(string organizationId, string folder);
|
||||||
|
|
||||||
//ActiveSync
|
//ActiveSync
|
||||||
void CreateOrganizationActiveSyncPolicy(string organizationId);
|
void CreateOrganizationActiveSyncPolicy(string organizationId);
|
||||||
|
|
|
@ -83,6 +83,7 @@ namespace WebsitePanel.Providers.HostedSolution
|
||||||
CreateMailbox,
|
CreateMailbox,
|
||||||
CreateContact,
|
CreateContact,
|
||||||
CreatePublicFolder,
|
CreatePublicFolder,
|
||||||
|
CreatePublicFolderMailbox,
|
||||||
CreateActiveSyncPolicy,
|
CreateActiveSyncPolicy,
|
||||||
AddMailboxFullAccessPermission,
|
AddMailboxFullAccessPermission,
|
||||||
AddSendAsPermission,
|
AddSendAsPermission,
|
||||||
|
|
|
@ -431,16 +431,16 @@ namespace WebsitePanel.Providers.HostedSolution
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region Public folders
|
#region Public folders
|
||||||
public void CreatePublicFolder(string organizationId, string securityGroup, string parentFolder,
|
public void CreatePublicFolder(string organizationDistinguishedName, string organizationId, string securityGroup, string parentFolder,
|
||||||
string folderName, bool mailEnabled, string accountName, string name, string domain)
|
string folderName, bool mailEnabled, string accountName, string name, string domain)
|
||||||
{
|
{
|
||||||
CreatePublicFolderInternal(organizationId, securityGroup, parentFolder, folderName,
|
CreatePublicFolderInternal(organizationDistinguishedName, organizationId, securityGroup, parentFolder, folderName,
|
||||||
mailEnabled, accountName, name, domain);
|
mailEnabled, accountName, name, domain);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void DeletePublicFolder(string folder)
|
public void DeletePublicFolder(string organizationId, string folder)
|
||||||
{
|
{
|
||||||
DeletePublicFolderInternal(folder);
|
DeletePublicFolderInternal(organizationId, folder);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void EnableMailPublicFolder(string organizationId, string folder, string accountName,
|
public void EnableMailPublicFolder(string organizationId, string folder, string accountName,
|
||||||
|
@ -521,60 +521,60 @@ namespace WebsitePanel.Providers.HostedSolution
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public void DisableMailPublicFolder(string folder)
|
public void DisableMailPublicFolder(string organizationId, string folder)
|
||||||
{
|
{
|
||||||
DisableMailPublicFolderInternal(folder);
|
DisableMailPublicFolderInternal(organizationId, folder);
|
||||||
}
|
}
|
||||||
|
|
||||||
public ExchangePublicFolder GetPublicFolderGeneralSettings(string folder)
|
public ExchangePublicFolder GetPublicFolderGeneralSettings(string organizationId, string folder)
|
||||||
{
|
{
|
||||||
return GetPublicFolderGeneralSettingsInternal(folder);
|
return GetPublicFolderGeneralSettingsInternal(organizationId, folder);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SetPublicFolderGeneralSettings(string folder, string newFolderName,
|
public void SetPublicFolderGeneralSettings(string organizationId, string folder, string newFolderName,
|
||||||
bool hideFromAddressBook, ExchangeAccount[] accounts)
|
bool hideFromAddressBook, ExchangeAccount[] accounts)
|
||||||
{
|
{
|
||||||
SetPublicFolderGeneralSettingsInternal(folder, newFolderName, hideFromAddressBook, accounts);
|
SetPublicFolderGeneralSettingsInternal(organizationId, folder, newFolderName, hideFromAddressBook, accounts);
|
||||||
}
|
}
|
||||||
public ExchangePublicFolder GetPublicFolderMailFlowSettings(string folder)
|
public ExchangePublicFolder GetPublicFolderMailFlowSettings(string organizationId, string folder)
|
||||||
{
|
{
|
||||||
return GetPublicFolderMailFlowSettingsInternal(folder);
|
return GetPublicFolderMailFlowSettingsInternal(organizationId, folder);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SetPublicFolderMailFlowSettings(string folder,
|
public void SetPublicFolderMailFlowSettings(string organizationId, string folder,
|
||||||
string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication)
|
string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication)
|
||||||
{
|
{
|
||||||
SetPublicFolderMailFlowSettingsInternal(folder, acceptAccounts, rejectAccounts, requireSenderAuthentication);
|
SetPublicFolderMailFlowSettingsInternal(organizationId, folder, acceptAccounts, rejectAccounts, requireSenderAuthentication);
|
||||||
}
|
}
|
||||||
|
|
||||||
public ExchangeEmailAddress[] GetPublicFolderEmailAddresses(string folder)
|
public ExchangeEmailAddress[] GetPublicFolderEmailAddresses(string organizationId, string folder)
|
||||||
{
|
{
|
||||||
return GetPublicFolderEmailAddressesInternal(folder);
|
return GetPublicFolderEmailAddressesInternal(organizationId, folder);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SetPublicFolderEmailAddresses(string folder, string[] emailAddresses)
|
public void SetPublicFolderEmailAddresses(string organizationId, string folder, string[] emailAddresses)
|
||||||
{
|
{
|
||||||
SetPublicFolderEmailAddressesInternal(folder, emailAddresses);
|
SetPublicFolderEmailAddressesInternal(organizationId, folder, emailAddresses);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SetPublicFolderPrimaryEmailAddress(string folder, string emailAddress)
|
public void SetPublicFolderPrimaryEmailAddress(string organizationId, string folder, string emailAddress)
|
||||||
{
|
{
|
||||||
SetPublicFolderPrimaryEmailAddressInternal(folder, emailAddress);
|
SetPublicFolderPrimaryEmailAddressInternal(organizationId, folder, emailAddress);
|
||||||
}
|
}
|
||||||
|
|
||||||
public ExchangeItemStatistics[] GetPublicFoldersStatistics(string[] folders)
|
public ExchangeItemStatistics[] GetPublicFoldersStatistics(string organizationId, string[] folders)
|
||||||
{
|
{
|
||||||
return GetPublicFoldersStatisticsInternal(folders);
|
return GetPublicFoldersStatisticsInternal(organizationId, folders);
|
||||||
}
|
}
|
||||||
|
|
||||||
public string[] GetPublicFoldersRecursive(string parent)
|
public string[] GetPublicFoldersRecursive(string organizationId, string parent)
|
||||||
{
|
{
|
||||||
return GetPublicFoldersRecursiveInternal(parent);
|
return GetPublicFoldersRecursiveInternal(organizationId, parent);
|
||||||
}
|
}
|
||||||
|
|
||||||
public long GetPublicFolderSize(string folder)
|
public long GetPublicFolderSize(string organizationId, string folder)
|
||||||
{
|
{
|
||||||
return GetPublicFolderSizeInternal(folder);
|
return GetPublicFolderSizeInternal(organizationId, folder);
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
@ -1128,10 +1128,8 @@ namespace WebsitePanel.Providers.HostedSolution
|
||||||
{
|
{
|
||||||
cmd = new Command("Get-PublicFolder");
|
cmd = new Command("Get-PublicFolder");
|
||||||
cmd.Parameters.Add("Identity", "\\" + organizationId);
|
cmd.Parameters.Add("Identity", "\\" + organizationId);
|
||||||
|
cmd.Parameters.Add("Mailbox", GetPublicFolderMailboxName(organizationId));
|
||||||
cmd.Parameters.Add("GetChildren", new SwitchParameter(true));
|
cmd.Parameters.Add("GetChildren", new SwitchParameter(true));
|
||||||
if (!string.IsNullOrEmpty(PublicFolderServer))
|
|
||||||
cmd.Parameters.Add("Server", PublicFolderServer);
|
|
||||||
|
|
||||||
result = ExecuteShellCommand(runSpace, cmd);
|
result = ExecuteShellCommand(runSpace, cmd);
|
||||||
if (result != null && result.Count > 0)
|
if (result != null && result.Count > 0)
|
||||||
ret = false;
|
ret = false;
|
||||||
|
@ -1159,7 +1157,7 @@ namespace WebsitePanel.Providers.HostedSolution
|
||||||
id = ObjToString(GetPSObjectProperty(obj, "Identity"));
|
id = ObjToString(GetPSObjectProperty(obj, "Identity"));
|
||||||
RemoveDevicesInternal(runSpace, id);
|
RemoveDevicesInternal(runSpace, id);
|
||||||
|
|
||||||
RemoveMailbox(runSpace, id);
|
RemoveMailbox(runSpace, id, false);
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
|
@ -1243,7 +1241,8 @@ namespace WebsitePanel.Providers.HostedSolution
|
||||||
string publicFolder = "\\" + organizationId;
|
string publicFolder = "\\" + organizationId;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
RemovePublicFolder(runSpace, publicFolder);
|
DisableMailPublicFolderRecursiveInternal(runSpace, organizationId, publicFolder);
|
||||||
|
RemovePublicFolder(runSpace, GetPublicFolderMailboxName(organizationId), publicFolder);
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
|
@ -1393,7 +1392,7 @@ namespace WebsitePanel.Providers.HostedSolution
|
||||||
|
|
||||||
|
|
||||||
size += CalculateMailboxDiskSpace(runSpace, organizationDistinguishedName);
|
size += CalculateMailboxDiskSpace(runSpace, organizationDistinguishedName);
|
||||||
size += CalculatePublicFolderDiskSpace(runSpace, "\\" + organizationId);
|
size += CalculatePublicFolderDiskSpace(runSpace, GetPublicFolderMailboxName(organizationId), "\\" + organizationId);
|
||||||
}
|
}
|
||||||
finally
|
finally
|
||||||
{
|
{
|
||||||
|
@ -1434,7 +1433,7 @@ namespace WebsitePanel.Providers.HostedSolution
|
||||||
return size;
|
return size;
|
||||||
}
|
}
|
||||||
|
|
||||||
internal virtual long CalculatePublicFolderDiskSpace(Runspace runSpace, string folder)
|
internal virtual long CalculatePublicFolderDiskSpace(Runspace runSpace, string mailbox, string folder)
|
||||||
{
|
{
|
||||||
ExchangeLog.LogStart("CalculatePublicFolderDiskSpace");
|
ExchangeLog.LogStart("CalculatePublicFolderDiskSpace");
|
||||||
ExchangeLog.DebugInfo("Folder: {0}", folder);
|
ExchangeLog.DebugInfo("Folder: {0}", folder);
|
||||||
|
@ -1447,8 +1446,7 @@ namespace WebsitePanel.Providers.HostedSolution
|
||||||
{
|
{
|
||||||
cmd = new Command("Get-PublicFolderStatistics");
|
cmd = new Command("Get-PublicFolderStatistics");
|
||||||
cmd.Parameters.Add("Identity", folder);
|
cmd.Parameters.Add("Identity", folder);
|
||||||
if (!string.IsNullOrEmpty(PublicFolderServer))
|
cmd.Parameters.Add("Mailbox", mailbox);
|
||||||
cmd.Parameters.Add("Server", PublicFolderServer);
|
|
||||||
result = ExecuteShellCommand(runSpace, cmd);
|
result = ExecuteShellCommand(runSpace, cmd);
|
||||||
if (result != null && result.Count > 0)
|
if (result != null && result.Count > 0)
|
||||||
{
|
{
|
||||||
|
@ -1460,14 +1458,13 @@ namespace WebsitePanel.Providers.HostedSolution
|
||||||
|
|
||||||
cmd = new Command("Get-PublicFolder");
|
cmd = new Command("Get-PublicFolder");
|
||||||
cmd.Parameters.Add("Identity", folder);
|
cmd.Parameters.Add("Identity", folder);
|
||||||
|
cmd.Parameters.Add("Mailbox", mailbox);
|
||||||
cmd.Parameters.Add("GetChildren", new SwitchParameter(true));
|
cmd.Parameters.Add("GetChildren", new SwitchParameter(true));
|
||||||
if (!string.IsNullOrEmpty(PublicFolderServer))
|
|
||||||
cmd.Parameters.Add("Server", PublicFolderServer);
|
|
||||||
result = ExecuteShellCommand(runSpace, cmd);
|
result = ExecuteShellCommand(runSpace, cmd);
|
||||||
foreach (PSObject obj in result)
|
foreach (PSObject obj in result)
|
||||||
{
|
{
|
||||||
string id = ObjToString(GetPSObjectProperty(obj, "Identity"));
|
string id = ObjToString(GetPSObjectProperty(obj, "Identity"));
|
||||||
size += CalculatePublicFolderDiskSpace(runSpace, id);
|
size += CalculatePublicFolderDiskSpace(runSpace, mailbox, id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -2027,7 +2024,7 @@ namespace WebsitePanel.Providers.HostedSolution
|
||||||
|
|
||||||
RemoveDevicesInternal(runSpace, accountName);
|
RemoveDevicesInternal(runSpace, accountName);
|
||||||
|
|
||||||
RemoveMailbox(runSpace, accountName);
|
RemoveMailbox(runSpace, accountName, false);
|
||||||
|
|
||||||
if (addressbookPolicy == (upn + " AP"))
|
if (addressbookPolicy == (upn + " AP"))
|
||||||
{
|
{
|
||||||
|
@ -2077,15 +2074,42 @@ namespace WebsitePanel.Providers.HostedSolution
|
||||||
ExchangeLog.LogStart("GetDatabase");
|
ExchangeLog.LogStart("GetDatabase");
|
||||||
ExchangeLog.LogInfo("DAG: " + dagName);
|
ExchangeLog.LogInfo("DAG: " + dagName);
|
||||||
|
|
||||||
//Get Dag Servers
|
// this part of code handles mailboxnames like in the old 2007 provider
|
||||||
|
// check if DAG is in reality DAG\mailboxdatabase
|
||||||
|
string dagNameDAG = string.Empty;
|
||||||
|
string dagNameMBX = string.Empty;
|
||||||
|
bool isFixedDatabase = false;
|
||||||
|
if (dagName.Contains("\\"))
|
||||||
|
{
|
||||||
|
// split the two parts and extract DAG-Name and mailboxdatabase-name
|
||||||
|
string[] parts = dagName.Split(new char[] { '\\' }, 2, StringSplitOptions.None);
|
||||||
|
dagNameDAG = parts[0];
|
||||||
|
dagNameMBX = parts[1];
|
||||||
|
// check that we realy have a database name
|
||||||
|
if (!String.IsNullOrEmpty(dagNameMBX))
|
||||||
|
{
|
||||||
|
isFixedDatabase = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// there is no mailboxdatabase-name use the loadbalancing-code
|
||||||
|
dagNameDAG = dagName;
|
||||||
|
isFixedDatabase = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
//Get Dag Servers - with the name of the database availability group
|
||||||
Collection<PSObject> dags = null;
|
Collection<PSObject> dags = null;
|
||||||
Command cmd = new Command("Get-DatabaseAvailabilityGroup");
|
Command cmd = new Command("Get-DatabaseAvailabilityGroup");
|
||||||
cmd.Parameters.Add("Identity", dagName);
|
cmd.Parameters.Add("Identity", dagNameDAG);
|
||||||
dags = ExecuteShellCommand(runSpace, cmd);
|
dags = ExecuteShellCommand(runSpace, cmd);
|
||||||
|
|
||||||
if (htBbalancer == null)
|
if (htBbalancer == null)
|
||||||
htBbalancer = new Hashtable();
|
htBbalancer = new Hashtable();
|
||||||
|
|
||||||
|
// use fully qualified dagName for loadbalancer. Thus if there are two services and one of them
|
||||||
|
// contains only the DAG, the "fixed" database could also be used in loadbalancing. If you do not want this,
|
||||||
|
// set either IsExcludedFromProvisioning or IsSuspendedFromProvisioning - it is not evaluated for fixed databases
|
||||||
if (htBbalancer[dagName] == null)
|
if (htBbalancer[dagName] == null)
|
||||||
htBbalancer.Add(dagName, 0);
|
htBbalancer.Add(dagName, 0);
|
||||||
|
|
||||||
|
@ -2098,35 +2122,56 @@ namespace WebsitePanel.Providers.HostedSolution
|
||||||
{
|
{
|
||||||
System.Collections.Generic.List<string> lstDatabase = new System.Collections.Generic.List<string>();
|
System.Collections.Generic.List<string> lstDatabase = new System.Collections.Generic.List<string>();
|
||||||
|
|
||||||
foreach (object objServer in servers)
|
if (!isFixedDatabase) // "old" loadbalancing code
|
||||||
|
{
|
||||||
|
foreach (object objServer in servers)
|
||||||
|
{
|
||||||
|
Collection<PSObject> databases = null;
|
||||||
|
cmd = new Command("Get-MailboxDatabase");
|
||||||
|
cmd.Parameters.Add("Server", ObjToString(objServer));
|
||||||
|
databases = ExecuteShellCommand(runSpace, cmd);
|
||||||
|
|
||||||
|
foreach (PSObject objDatabase in databases)
|
||||||
|
{
|
||||||
|
if (((bool)GetPSObjectProperty(objDatabase, "IsExcludedFromProvisioning") == false) &&
|
||||||
|
((bool)GetPSObjectProperty(objDatabase, "IsSuspendedFromProvisioning") == false))
|
||||||
|
{
|
||||||
|
string db = ObjToString(GetPSObjectProperty(objDatabase, "Identity"));
|
||||||
|
|
||||||
|
bool bAdd = true;
|
||||||
|
foreach (string s in lstDatabase)
|
||||||
|
{
|
||||||
|
if (s.ToLower() == db.ToLower())
|
||||||
|
{
|
||||||
|
bAdd = false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (bAdd)
|
||||||
|
{
|
||||||
|
lstDatabase.Add(db);
|
||||||
|
ExchangeLog.LogInfo("AddDatabase: " + db);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else // new fixed database code
|
||||||
{
|
{
|
||||||
Collection<PSObject> databases = null;
|
Collection<PSObject> databases = null;
|
||||||
cmd = new Command("Get-MailboxDatabase");
|
cmd = new Command("Get-MailboxDatabase");
|
||||||
cmd.Parameters.Add("Server", ObjToString(objServer));
|
cmd.Parameters.Add("Identity", dagNameMBX);
|
||||||
databases = ExecuteShellCommand(runSpace, cmd);
|
databases = ExecuteShellCommand(runSpace, cmd);
|
||||||
|
|
||||||
|
// do not check "IsExcludedFromProvisioning" or "IsSuspended", just check if it is a member of the DAG
|
||||||
foreach (PSObject objDatabase in databases)
|
foreach (PSObject objDatabase in databases)
|
||||||
{
|
{
|
||||||
if (((bool)GetPSObjectProperty(objDatabase, "IsExcludedFromProvisioning") == false) &&
|
string dagSetting = ObjToString(GetPSObjectProperty(objDatabase, "MasterServerOrAvailabilityGroup"));
|
||||||
((bool)GetPSObjectProperty(objDatabase, "IsSuspendedFromProvisioning") == false))
|
if (dagNameDAG.Equals(dagSetting, StringComparison.OrdinalIgnoreCase))
|
||||||
{
|
{
|
||||||
string db = ObjToString(GetPSObjectProperty(objDatabase, "Identity"));
|
lstDatabase.Add(dagNameMBX);
|
||||||
|
ExchangeLog.LogInfo("AddFixedDatabase: " + dagNameMBX);
|
||||||
bool bAdd = true;
|
|
||||||
foreach (string s in lstDatabase)
|
|
||||||
{
|
|
||||||
if (s.ToLower() == db.ToLower())
|
|
||||||
{
|
|
||||||
bAdd = false;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (bAdd)
|
|
||||||
{
|
|
||||||
lstDatabase.Add(db);
|
|
||||||
ExchangeLog.LogInfo("AddDatabase: " + db);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2144,13 +2189,15 @@ namespace WebsitePanel.Providers.HostedSolution
|
||||||
return database;
|
return database;
|
||||||
}
|
}
|
||||||
|
|
||||||
internal void RemoveMailbox(Runspace runSpace, string id)
|
|
||||||
|
internal void RemoveMailbox(Runspace runSpace, string id, bool isPublicFolder)
|
||||||
{
|
{
|
||||||
ExchangeLog.LogStart("RemoveMailbox");
|
ExchangeLog.LogStart("RemoveMailbox");
|
||||||
Command cmd = new Command("Remove-Mailbox");
|
Command cmd = new Command("Remove-Mailbox");
|
||||||
cmd.Parameters.Add("Identity", id);
|
cmd.Parameters.Add("Identity", id);
|
||||||
cmd.Parameters.Add("Permanent", false);
|
cmd.Parameters.Add("Permanent", false);
|
||||||
cmd.Parameters.Add("Confirm", false);
|
cmd.Parameters.Add("Confirm", false);
|
||||||
|
if (isPublicFolder) cmd.Parameters.Add("PublicFolder");
|
||||||
ExecuteShellCommand(runSpace, cmd);
|
ExecuteShellCommand(runSpace, cmd);
|
||||||
ExchangeLog.LogEnd("RemoveMailbox");
|
ExchangeLog.LogEnd("RemoveMailbox");
|
||||||
}
|
}
|
||||||
|
@ -2220,6 +2267,7 @@ namespace WebsitePanel.Providers.HostedSolution
|
||||||
|
|
||||||
info.DisplayName = (string)GetPSObjectProperty(mailbox, "DisplayName");
|
info.DisplayName = (string)GetPSObjectProperty(mailbox, "DisplayName");
|
||||||
info.HideFromAddressBook = (bool)GetPSObjectProperty(mailbox, "HiddenFromAddressListsEnabled");
|
info.HideFromAddressBook = (bool)GetPSObjectProperty(mailbox, "HiddenFromAddressListsEnabled");
|
||||||
|
info.EnableLitigationHold = (bool)GetPSObjectProperty(mailbox, "LitigationHoldEnabled");
|
||||||
|
|
||||||
Command cmd = new Command("Get-User");
|
Command cmd = new Command("Get-User");
|
||||||
cmd.Parameters.Add("Identity", accountName);
|
cmd.Parameters.Add("Identity", accountName);
|
||||||
|
@ -2895,6 +2943,7 @@ namespace WebsitePanel.Providers.HostedSolution
|
||||||
string path = AddADPrefix(dn);
|
string path = AddADPrefix(dn);
|
||||||
DirectoryEntry entry = GetADObject(path);
|
DirectoryEntry entry = GetADObject(path);
|
||||||
info.Enabled = !(bool)entry.InvokeGet("AccountDisabled");
|
info.Enabled = !(bool)entry.InvokeGet("AccountDisabled");
|
||||||
|
info.LitigationHoldEnabled = (bool)GetPSObjectProperty(mailbox, "LitigationHoldEnabled");
|
||||||
|
|
||||||
info.DisplayName = (string)GetPSObjectProperty(mailbox, "DisplayName");
|
info.DisplayName = (string)GetPSObjectProperty(mailbox, "DisplayName");
|
||||||
SmtpAddress smtpAddress = (SmtpAddress)GetPSObjectProperty(mailbox, "PrimarySmtpAddress");
|
SmtpAddress smtpAddress = (SmtpAddress)GetPSObjectProperty(mailbox, "PrimarySmtpAddress");
|
||||||
|
@ -2926,8 +2975,10 @@ namespace WebsitePanel.Providers.HostedSolution
|
||||||
Unlimited<ByteQuantifiedSize> totalItemSize =
|
Unlimited<ByteQuantifiedSize> totalItemSize =
|
||||||
(Unlimited<ByteQuantifiedSize>)GetPSObjectProperty(statistics, "TotalItemSize");
|
(Unlimited<ByteQuantifiedSize>)GetPSObjectProperty(statistics, "TotalItemSize");
|
||||||
info.TotalSize = ConvertUnlimitedToBytes(totalItemSize);
|
info.TotalSize = ConvertUnlimitedToBytes(totalItemSize);
|
||||||
|
|
||||||
uint? itemCount = (uint?)GetPSObjectProperty(statistics, "ItemCount");
|
uint? itemCount = (uint?)GetPSObjectProperty(statistics, "ItemCount");
|
||||||
info.TotalItems = ConvertNullableToInt32(itemCount);
|
info.TotalItems = ConvertNullableToInt32(itemCount);
|
||||||
|
|
||||||
DateTime? lastLogoffTime = (DateTime?)GetPSObjectProperty(statistics, "LastLogoffTime");
|
DateTime? lastLogoffTime = (DateTime?)GetPSObjectProperty(statistics, "LastLogoffTime");
|
||||||
DateTime? lastLogonTime = (DateTime?)GetPSObjectProperty(statistics, "LastLogonTime");
|
DateTime? lastLogonTime = (DateTime?)GetPSObjectProperty(statistics, "LastLogonTime");
|
||||||
info.LastLogoff = ConvertNullableToDateTime(lastLogoffTime);
|
info.LastLogoff = ConvertNullableToDateTime(lastLogoffTime);
|
||||||
|
@ -2940,6 +2991,29 @@ namespace WebsitePanel.Providers.HostedSolution
|
||||||
info.LastLogoff = DateTime.MinValue;
|
info.LastLogoff = DateTime.MinValue;
|
||||||
info.LastLogon = DateTime.MinValue;
|
info.LastLogon = DateTime.MinValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (info.LitigationHoldEnabled)
|
||||||
|
{
|
||||||
|
cmd = new Command("Get-MailboxFolderStatistics");
|
||||||
|
cmd.Parameters.Add("FolderScope", "RecoverableItems");
|
||||||
|
cmd.Parameters.Add("Identity", id);
|
||||||
|
result = ExecuteShellCommand(runSpace, cmd);
|
||||||
|
if (result.Count > 0)
|
||||||
|
{
|
||||||
|
PSObject statistics = result[0];
|
||||||
|
ByteQuantifiedSize totalItemSize = (ByteQuantifiedSize)GetPSObjectProperty(statistics, "FolderAndSubfolderSize");
|
||||||
|
info.LitigationHoldTotalSize = (totalItemSize == null) ? 0 : ConvertUnlimitedToBytes(totalItemSize);
|
||||||
|
|
||||||
|
Int32 itemCount = (Int32)GetPSObjectProperty(statistics, "ItemsInFolder");
|
||||||
|
info.LitigationHoldTotalItems = (itemCount == null) ? 0 : itemCount;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
info.LitigationHoldTotalSize = 0;
|
||||||
|
info.LitigationHoldTotalItems = 0;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
finally
|
finally
|
||||||
{
|
{
|
||||||
|
@ -4139,7 +4213,7 @@ namespace WebsitePanel.Providers.HostedSolution
|
||||||
|
|
||||||
#region Public folders
|
#region Public folders
|
||||||
|
|
||||||
private void CreatePublicFolderInternal(string organizationId, string securityGroup, string parentFolder,
|
private void CreatePublicFolderInternal(string organizationDistinguishedName, string organizationId, string securityGroup, string parentFolder,
|
||||||
string folderName, bool mailEnabled, string accountName, string name, string domain)
|
string folderName, bool mailEnabled, string accountName, string name, string domain)
|
||||||
{
|
{
|
||||||
ExchangeLog.LogStart("CreatePublicFolderInternal");
|
ExchangeLog.LogStart("CreatePublicFolderInternal");
|
||||||
|
@ -4154,12 +4228,16 @@ namespace WebsitePanel.Providers.HostedSolution
|
||||||
{
|
{
|
||||||
runSpace = OpenRunspace();
|
runSpace = OpenRunspace();
|
||||||
|
|
||||||
|
string orgCanonicalName = ConvertADPathToCanonicalName(organizationDistinguishedName);
|
||||||
|
|
||||||
|
//create organization public folder mailbox if required
|
||||||
|
CheckOrganizationPublicFolderMailbox(runSpace, orgCanonicalName, organizationId);
|
||||||
|
|
||||||
//create organization root folder if required
|
//create organization root folder if required
|
||||||
CheckOrganizationRootFolder(runSpace, organizationId, securityGroup);
|
CheckOrganizationRootFolder(runSpace, organizationId, securityGroup, orgCanonicalName, organizationId);
|
||||||
|
|
||||||
string id = AddPublicFolder(runSpace, folderName, parentFolder);
|
string id = AddPublicFolder(runSpace, folderName, parentFolder, orgCanonicalName+"/"+GetPublicFolderMailboxName(organizationId));
|
||||||
transaction.RegisterNewPublicFolder(id);
|
transaction.RegisterNewPublicFolder(GetPublicFolderMailboxName(organizationId), id);
|
||||||
|
|
||||||
SetPublicFolderPermissions(runSpace, id, securityGroup);
|
SetPublicFolderPermissions(runSpace, id, securityGroup);
|
||||||
|
|
||||||
|
@ -4183,18 +4261,43 @@ namespace WebsitePanel.Providers.HostedSolution
|
||||||
ExchangeLog.LogEnd("CreatePublicFolderInternal");
|
ExchangeLog.LogEnd("CreatePublicFolderInternal");
|
||||||
}
|
}
|
||||||
|
|
||||||
private void CheckOrganizationRootFolder(Runspace runSpace, string folder, string user)
|
private void CheckOrganizationPublicFolderMailbox(Runspace runSpace, string orgCanonicalName, string organizationId)
|
||||||
{
|
{
|
||||||
ExchangeLog.LogStart("CheckOrganizationRootFolder");
|
ExchangeLog.LogStart("CheckOrganizationPublicFolderMailbox");
|
||||||
|
|
||||||
Collection<PSObject> result = GetPublicFolderObject(runSpace, "\\" + folder);
|
Collection<PSObject> result = GetPublicFolderMailbox(runSpace, orgCanonicalName, GetPublicFolderMailboxName(organizationId));
|
||||||
if (result == null || result.Count == 0)
|
if (result == null || result.Count == 0)
|
||||||
{
|
{
|
||||||
ExchangeTransaction transaction = StartTransaction();
|
ExchangeTransaction transaction = StartTransaction();
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
string rootId = AddPublicFolder(runSpace, folder, "\\");
|
string rootId = AddPublicFolderMailbox(runSpace, orgCanonicalName, GetPublicFolderMailboxName(organizationId));
|
||||||
transaction.RegisterNewPublicFolder(rootId);
|
transaction.RegisterNewPublicFolderMailbox(orgCanonicalName + "/" + GetPublicFolderMailboxName(organizationId));
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
RollbackTransaction(transaction);
|
||||||
|
throw;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
ExchangeLog.LogEnd("CheckOrganizationPublicFolderMailbox");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
private void CheckOrganizationRootFolder(Runspace runSpace, string folder, string user, string orgCanonicalName, string organizationId)
|
||||||
|
{
|
||||||
|
ExchangeLog.LogStart("CheckOrganizationRootFolder");
|
||||||
|
|
||||||
|
Collection<PSObject> result = GetPublicFolderObject(runSpace, orgCanonicalName+"/"+GetPublicFolderMailboxName(organizationId), "\\" + folder);
|
||||||
|
if (result == null || result.Count == 0)
|
||||||
|
{
|
||||||
|
ExchangeTransaction transaction = StartTransaction();
|
||||||
|
try
|
||||||
|
{
|
||||||
|
string rootId = AddPublicFolder(runSpace, folder, "\\", orgCanonicalName + "/" + GetPublicFolderMailboxName(organizationId));
|
||||||
|
transaction.RegisterNewPublicFolder(orgCanonicalName + "/" + GetPublicFolderMailboxName(organizationId), rootId);
|
||||||
|
|
||||||
SetPublicFolderPermissions(runSpace, rootId, user);
|
SetPublicFolderPermissions(runSpace, rootId, user);
|
||||||
}
|
}
|
||||||
catch
|
catch
|
||||||
|
@ -4206,21 +4309,40 @@ namespace WebsitePanel.Providers.HostedSolution
|
||||||
ExchangeLog.LogEnd("CheckOrganizationRootFolder");
|
ExchangeLog.LogEnd("CheckOrganizationRootFolder");
|
||||||
}
|
}
|
||||||
|
|
||||||
private string AddPublicFolder(Runspace runSpace, string name, string path)
|
private string AddPublicFolder(Runspace runSpace, string name, string path, string mailbox)
|
||||||
{
|
{
|
||||||
ExchangeLog.LogStart("CreatePublicFolder");
|
ExchangeLog.LogStart("CreatePublicFolder");
|
||||||
Command cmd = new Command("New-PublicFolder");
|
Command cmd = new Command("New-PublicFolder");
|
||||||
cmd.Parameters.Add("Name", name);
|
cmd.Parameters.Add("Name", name);
|
||||||
cmd.Parameters.Add("Path", path);
|
cmd.Parameters.Add("Path", path);
|
||||||
if (!string.IsNullOrEmpty(PublicFolderServer))
|
cmd.Parameters.Add("Mailbox", mailbox);
|
||||||
cmd.Parameters.Add("Server", PublicFolderServer);
|
|
||||||
Collection<PSObject> result = ExecuteShellCommand(runSpace, cmd);
|
Collection<PSObject> result = ExecuteShellCommand(runSpace, cmd);
|
||||||
string id = GetResultObjectIdentity(result);
|
string id = GetResultObjectIdentity(result);
|
||||||
ExchangeLog.LogEnd("CreatePublicFolder");
|
ExchangeLog.LogEnd("CreatePublicFolder");
|
||||||
return id;
|
return id;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void DeletePublicFolderInternal(string folder)
|
private string AddPublicFolderMailbox(Runspace runSpace, string organizationDistinguishedName, string name)
|
||||||
|
{
|
||||||
|
ExchangeLog.LogStart("CreatePublicFolderMailbox");
|
||||||
|
Command cmd = new Command("New-Mailbox");
|
||||||
|
cmd.Parameters.Add("Name", name);
|
||||||
|
cmd.Parameters.Add("PublicFolder");
|
||||||
|
cmd.Parameters.Add("OrganizationalUnit", organizationDistinguishedName);
|
||||||
|
string database = GetDatabase(runSpace, PrimaryDomainController, MailboxDatabase);
|
||||||
|
ExchangeLog.DebugInfo("database: " + database);
|
||||||
|
if (database != string.Empty)
|
||||||
|
{
|
||||||
|
cmd.Parameters.Add("Database", database);
|
||||||
|
}
|
||||||
|
Collection<PSObject> result = ExecuteShellCommand(runSpace, cmd);
|
||||||
|
string id = GetResultObjectIdentity(result);
|
||||||
|
ExchangeLog.LogEnd("CreatePublicFolderMailbox");
|
||||||
|
return id;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private void DeletePublicFolderInternal(string organizationId, string folder)
|
||||||
{
|
{
|
||||||
ExchangeLog.LogStart("DeletePublicFolderInternal");
|
ExchangeLog.LogStart("DeletePublicFolderInternal");
|
||||||
ExchangeLog.DebugInfo("Folder: {0}", folder);
|
ExchangeLog.DebugInfo("Folder: {0}", folder);
|
||||||
|
@ -4229,8 +4351,8 @@ namespace WebsitePanel.Providers.HostedSolution
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
runSpace = OpenRunspace();
|
runSpace = OpenRunspace();
|
||||||
|
DisableMailPublicFolderRecursiveInternal(runSpace, organizationId, folder);
|
||||||
RemovePublicFolder(runSpace, folder);
|
RemovePublicFolder(runSpace, GetPublicFolderMailboxName(organizationId), folder);
|
||||||
}
|
}
|
||||||
finally
|
finally
|
||||||
{
|
{
|
||||||
|
@ -4240,27 +4362,42 @@ namespace WebsitePanel.Providers.HostedSolution
|
||||||
ExchangeLog.LogEnd("DeletePublicFolderInternal");
|
ExchangeLog.LogEnd("DeletePublicFolderInternal");
|
||||||
}
|
}
|
||||||
|
|
||||||
private Collection<PSObject> GetPublicFolderObject(Runspace runSpace, string id)
|
private Collection<PSObject> GetPublicFolderObject(Runspace runSpace, string mailbox, string id)
|
||||||
{
|
{
|
||||||
Command cmd = new Command("Get-PublicFolder");
|
Command cmd = new Command("Get-PublicFolder");
|
||||||
cmd.Parameters.Add("Identity", id);
|
cmd.Parameters.Add("Identity", id);
|
||||||
if (!string.IsNullOrEmpty(PublicFolderServer))
|
//cmd.Parameters.Add("Mailbox", mailbox);
|
||||||
cmd.Parameters.Add("Server", PublicFolderServer);
|
|
||||||
Collection<PSObject> result = ExecuteShellCommand(runSpace, cmd);
|
Collection<PSObject> result = ExecuteShellCommand(runSpace, cmd);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
private bool PublicFolderExists(Runspace runSpace, string id)
|
private Collection<PSObject> GetPublicFolderMailbox(Runspace runSpace, string organizationDistinguishedName, string name)
|
||||||
|
{
|
||||||
|
Command cmd = new Command("Get-Mailbox");
|
||||||
|
cmd.Parameters.Add("Identity", name);
|
||||||
|
cmd.Parameters.Add("PublicFolder");
|
||||||
|
cmd.Parameters.Add("OrganizationalUnit", organizationDistinguishedName);
|
||||||
|
Collection<PSObject> result = ExecuteShellCommand(runSpace, cmd);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private string GetPublicFolderMailboxName(string organizationId)
|
||||||
|
{
|
||||||
|
return string.Format("{0} Public Folder Mailbox", organizationId);
|
||||||
|
}
|
||||||
|
|
||||||
|
private bool PublicFolderExists(Runspace runSpace, string id, string organizationId)
|
||||||
{
|
{
|
||||||
ExchangeLog.LogStart("PublicFolderExists");
|
ExchangeLog.LogStart("PublicFolderExists");
|
||||||
|
|
||||||
Collection<PSObject> result = GetPublicFolderObject(runSpace, id);
|
Collection<PSObject> result = GetPublicFolderObject(runSpace, GetPublicFolderMailboxName(organizationId), id);
|
||||||
bool ret = (result != null && result.Count == 1);
|
bool ret = (result != null && result.Count == 1);
|
||||||
ExchangeLog.LogEnd("PublicFolderExists");
|
ExchangeLog.LogEnd("PublicFolderExists");
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void RemovePublicFolder(Runspace runSpace, string id)
|
private void RemovePublicFolder(Runspace runSpace, string mailbox, string id)
|
||||||
{
|
{
|
||||||
ExchangeLog.LogStart("RemovePublicFolder");
|
ExchangeLog.LogStart("RemovePublicFolder");
|
||||||
|
|
||||||
|
@ -4268,8 +4405,6 @@ namespace WebsitePanel.Providers.HostedSolution
|
||||||
cmd.Parameters.Add("Identity", id);
|
cmd.Parameters.Add("Identity", id);
|
||||||
cmd.Parameters.Add("Recurse", new SwitchParameter(true));
|
cmd.Parameters.Add("Recurse", new SwitchParameter(true));
|
||||||
cmd.Parameters.Add("Confirm", false);
|
cmd.Parameters.Add("Confirm", false);
|
||||||
if (!string.IsNullOrEmpty(PublicFolderServer))
|
|
||||||
cmd.Parameters.Add("Server", PublicFolderServer);
|
|
||||||
ExecuteShellCommand(runSpace, cmd);
|
ExecuteShellCommand(runSpace, cmd);
|
||||||
|
|
||||||
ExchangeLog.LogEnd("RemovePublicFolder");
|
ExchangeLog.LogEnd("RemovePublicFolder");
|
||||||
|
@ -4286,14 +4421,12 @@ namespace WebsitePanel.Providers.HostedSolution
|
||||||
string permission)
|
string permission)
|
||||||
{
|
{
|
||||||
ExchangeLog.LogStart("RemovePublicFolderClientPermission");
|
ExchangeLog.LogStart("RemovePublicFolderClientPermission");
|
||||||
|
ExchangeLog.DebugInfo("Id :{0}", id);
|
||||||
|
|
||||||
Command cmd = new Command("Remove-PublicFolderClientPermission");
|
Command cmd = new Command("Remove-PublicFolderClientPermission");
|
||||||
cmd.Parameters.Add("Identity", id);
|
cmd.Parameters.Add("Identity", id);
|
||||||
cmd.Parameters.Add("User", user);
|
cmd.Parameters.Add("User", user);
|
||||||
cmd.Parameters.Add("AccessRights", permission);
|
|
||||||
cmd.Parameters.Add("Confirm", false);
|
cmd.Parameters.Add("Confirm", false);
|
||||||
if (!string.IsNullOrEmpty(PublicFolderServer))
|
|
||||||
cmd.Parameters.Add("Server", PublicFolderServer);
|
|
||||||
ExecuteShellCommand(runSpace, cmd);
|
ExecuteShellCommand(runSpace, cmd);
|
||||||
ExchangeLog.LogEnd("RemovePublicFolderClientPermission");
|
ExchangeLog.LogEnd("RemovePublicFolderClientPermission");
|
||||||
}
|
}
|
||||||
|
@ -4306,18 +4439,15 @@ namespace WebsitePanel.Providers.HostedSolution
|
||||||
cmd.Parameters.Add("Identity", id);
|
cmd.Parameters.Add("Identity", id);
|
||||||
cmd.Parameters.Add("User", user);
|
cmd.Parameters.Add("User", user);
|
||||||
cmd.Parameters.Add("AccessRights", permission);
|
cmd.Parameters.Add("AccessRights", permission);
|
||||||
if (!string.IsNullOrEmpty(PublicFolderServer))
|
|
||||||
cmd.Parameters.Add("Server", PublicFolderServer);
|
|
||||||
ExecuteShellCommand(runSpace, cmd);
|
ExecuteShellCommand(runSpace, cmd);
|
||||||
ExchangeLog.LogEnd("AddPublicFolderClientPermission");
|
ExchangeLog.LogEnd("AddPublicFolderClientPermission");
|
||||||
}
|
}
|
||||||
|
|
||||||
private void GetPublicFolderClientPermission(Runspace runSpace, string id)
|
private void GetPublicFolderClientPermission(Runspace runSpace, string mailbox, string id)
|
||||||
{
|
{
|
||||||
Command cmd = new Command("Get-PublicFolderClientPermission");
|
Command cmd = new Command("Get-PublicFolderClientPermission");
|
||||||
cmd.Parameters.Add("Identity", id);
|
cmd.Parameters.Add("Identity", id);
|
||||||
if (!string.IsNullOrEmpty(PublicFolderServer))
|
cmd.Parameters.Add("Mailbox", mailbox);
|
||||||
cmd.Parameters.Add("Server", PublicFolderServer);
|
|
||||||
Collection<PSObject> result = ExecuteShellCommand(runSpace, cmd);
|
Collection<PSObject> result = ExecuteShellCommand(runSpace, cmd);
|
||||||
PSObject obj = result[0];
|
PSObject obj = result[0];
|
||||||
}
|
}
|
||||||
|
@ -4337,8 +4467,6 @@ namespace WebsitePanel.Providers.HostedSolution
|
||||||
|
|
||||||
Command cmd = new Command("Enable-MailPublicFolder");
|
Command cmd = new Command("Enable-MailPublicFolder");
|
||||||
cmd.Parameters.Add("Identity", folder);
|
cmd.Parameters.Add("Identity", folder);
|
||||||
if (!string.IsNullOrEmpty(PublicFolderServer))
|
|
||||||
cmd.Parameters.Add("Server", PublicFolderServer);
|
|
||||||
ExecuteShellCommand(runSpace, cmd);
|
ExecuteShellCommand(runSpace, cmd);
|
||||||
string id = null;
|
string id = null;
|
||||||
|
|
||||||
|
@ -4350,8 +4478,6 @@ namespace WebsitePanel.Providers.HostedSolution
|
||||||
{
|
{
|
||||||
cmd = new Command("Get-MailPublicFolder");
|
cmd = new Command("Get-MailPublicFolder");
|
||||||
cmd.Parameters.Add("Identity", folder);
|
cmd.Parameters.Add("Identity", folder);
|
||||||
if (!string.IsNullOrEmpty(PublicFolderServer))
|
|
||||||
cmd.Parameters.Add("Server", PublicFolderServer);
|
|
||||||
Collection<PSObject> result = ExecuteShellCommand(runSpace, cmd);
|
Collection<PSObject> result = ExecuteShellCommand(runSpace, cmd);
|
||||||
if (result != null && result.Count > 0)
|
if (result != null && result.Count > 0)
|
||||||
{
|
{
|
||||||
|
@ -4418,9 +4544,10 @@ namespace WebsitePanel.Providers.HostedSolution
|
||||||
ExchangeLog.LogEnd("EnableMailPublicFolderInternal");
|
ExchangeLog.LogEnd("EnableMailPublicFolderInternal");
|
||||||
}
|
}
|
||||||
|
|
||||||
private void DisableMailPublicFolderInternal(string folder)
|
private void DisableMailPublicFolderInternal(string organizationId, string folder)
|
||||||
{
|
{
|
||||||
ExchangeLog.LogStart("DisableMailPublicFolderInternal");
|
ExchangeLog.LogStart("DisableMailPublicFolderInternal");
|
||||||
|
ExchangeLog.DebugInfo("Organization: {0}", organizationId);
|
||||||
ExchangeLog.DebugInfo("Folder: {0}", folder);
|
ExchangeLog.DebugInfo("Folder: {0}", folder);
|
||||||
Runspace runSpace = null;
|
Runspace runSpace = null;
|
||||||
try
|
try
|
||||||
|
@ -4431,8 +4558,6 @@ namespace WebsitePanel.Providers.HostedSolution
|
||||||
Command cmd = new Command("Disable-MailPublicFolder");
|
Command cmd = new Command("Disable-MailPublicFolder");
|
||||||
cmd.Parameters.Add("Identity", folder);
|
cmd.Parameters.Add("Identity", folder);
|
||||||
cmd.Parameters.Add("Confirm", false);
|
cmd.Parameters.Add("Confirm", false);
|
||||||
if (!string.IsNullOrEmpty(PublicFolderServer))
|
|
||||||
cmd.Parameters.Add("Server", PublicFolderServer);
|
|
||||||
ExecuteShellCommand(runSpace, cmd);
|
ExecuteShellCommand(runSpace, cmd);
|
||||||
}
|
}
|
||||||
finally
|
finally
|
||||||
|
@ -4443,9 +4568,42 @@ namespace WebsitePanel.Providers.HostedSolution
|
||||||
ExchangeLog.LogEnd("DisableMailPublicFolderInternal");
|
ExchangeLog.LogEnd("DisableMailPublicFolderInternal");
|
||||||
}
|
}
|
||||||
|
|
||||||
private ExchangePublicFolder GetPublicFolderGeneralSettingsInternal(string folder)
|
|
||||||
|
private void DisableMailPublicFolderRecursiveInternal(Runspace runSpace, string organizationId, string folder)
|
||||||
|
{
|
||||||
|
ExchangeLog.LogStart("DisableMailPublicFolderRecursiveInternal");
|
||||||
|
ExchangeLog.DebugInfo("Organization: {0}", organizationId);
|
||||||
|
ExchangeLog.DebugInfo("Folder: {0}", folder);
|
||||||
|
|
||||||
|
Command cmd = new Command("Disable-MailPublicFolder");
|
||||||
|
cmd.Parameters.Add("Identity", folder);
|
||||||
|
cmd.Parameters.Add("Confirm", false);
|
||||||
|
ExecuteShellCommand(runSpace, cmd);
|
||||||
|
|
||||||
|
cmd = new Command("Get-PublicFolder");
|
||||||
|
cmd.Parameters.Add("Identity", folder);
|
||||||
|
cmd.Parameters.Add("GetChildren");
|
||||||
|
Collection<PSObject> result = ExecuteShellCommand(runSpace, cmd);
|
||||||
|
|
||||||
|
if (result.Count > 0)
|
||||||
|
{
|
||||||
|
foreach (PSObject obj in result)
|
||||||
|
{
|
||||||
|
string name = (string)GetPSObjectProperty(obj, "Name");
|
||||||
|
string parentPath = (string)GetPSObjectProperty(obj, "parentPath");
|
||||||
|
|
||||||
|
DisableMailPublicFolderRecursiveInternal(runSpace, organizationId, parentPath + "\\" + name);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ExchangeLog.LogEnd("DisableMailPublicFolderRecursiveInternal");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private ExchangePublicFolder GetPublicFolderGeneralSettingsInternal(string organizationId, string folder)
|
||||||
{
|
{
|
||||||
ExchangeLog.LogStart("GetPublicFolderGeneralSettingsInternal");
|
ExchangeLog.LogStart("GetPublicFolderGeneralSettingsInternal");
|
||||||
|
ExchangeLog.DebugInfo("Organization: {0}", organizationId);
|
||||||
ExchangeLog.DebugInfo("Folder: {0}", folder);
|
ExchangeLog.DebugInfo("Folder: {0}", folder);
|
||||||
|
|
||||||
ExchangePublicFolder info = new ExchangePublicFolder();
|
ExchangePublicFolder info = new ExchangePublicFolder();
|
||||||
|
@ -4454,26 +4612,25 @@ namespace WebsitePanel.Providers.HostedSolution
|
||||||
{
|
{
|
||||||
runSpace = OpenRunspace();
|
runSpace = OpenRunspace();
|
||||||
|
|
||||||
Collection<PSObject> result = GetPublicFolderObject(runSpace, folder);
|
Collection<PSObject> result = GetPublicFolderObject(runSpace, GetPublicFolderMailboxName(organizationId), folder);
|
||||||
PSObject publicFolder = result[0];
|
PSObject publicFolder = result[0];
|
||||||
|
|
||||||
info.Name = (string)GetPSObjectProperty(publicFolder, "Name");
|
info.Name = (string)GetPSObjectProperty(publicFolder, "Name");
|
||||||
info.MailEnabled = (bool)GetPSObjectProperty(publicFolder, "MailEnabled");
|
info.MailEnabled = (bool)GetPSObjectProperty(publicFolder, "MailEnabled");
|
||||||
info.HideFromAddressBook = (bool)GetPSObjectProperty(publicFolder, "HiddenFromAddressListsEnabled");
|
|
||||||
info.NETBIOS = GetNETBIOSDomainName();
|
info.NETBIOS = GetNETBIOSDomainName();
|
||||||
info.Accounts = GetPublicFolderAccounts(runSpace, folder);
|
info.Accounts = GetPublicFolderAccounts(runSpace, GetPublicFolderMailboxName(organizationId), folder);
|
||||||
|
|
||||||
if (info.MailEnabled)
|
if (info.MailEnabled)
|
||||||
{
|
{
|
||||||
Command cmd = new Command("Get-MailPublicFolder");
|
Command cmd = new Command("Get-MailPublicFolder");
|
||||||
cmd.Parameters.Add("Identity", folder);
|
cmd.Parameters.Add("Identity", folder);
|
||||||
if (!string.IsNullOrEmpty(PublicFolderServer))
|
|
||||||
cmd.Parameters.Add("Server", PublicFolderServer);
|
|
||||||
result = ExecuteShellCommand(runSpace, cmd);
|
result = ExecuteShellCommand(runSpace, cmd);
|
||||||
if (result.Count > 0)
|
if (result.Count > 0)
|
||||||
{
|
{
|
||||||
publicFolder = result[0];
|
publicFolder = result[0];
|
||||||
info.SAMAccountName = string.Format("{0}\\{1}", GetNETBIOSDomainName(), (string)GetPSObjectProperty(publicFolder, "Alias"));
|
info.SAMAccountName = string.Format("{0}\\{1}", GetNETBIOSDomainName(), (string)GetPSObjectProperty(publicFolder, "Alias"));
|
||||||
|
info.HideFromAddressBook = (bool)GetPSObjectProperty(publicFolder, "HiddenFromAddressListsEnabled");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -4486,7 +4643,7 @@ namespace WebsitePanel.Providers.HostedSolution
|
||||||
return info;
|
return info;
|
||||||
}
|
}
|
||||||
|
|
||||||
private ExchangeAccount[] GetPublicFolderAccounts(Runspace runSpace, string folder)
|
private ExchangeAccount[] GetPublicFolderAccounts(Runspace runSpace, string mailbox, string folder)
|
||||||
{
|
{
|
||||||
ExchangeLog.LogStart("GetPublicFolderAccounts");
|
ExchangeLog.LogStart("GetPublicFolderAccounts");
|
||||||
ExchangeLog.DebugInfo("Folder: {0}", folder);
|
ExchangeLog.DebugInfo("Folder: {0}", folder);
|
||||||
|
@ -4496,8 +4653,7 @@ namespace WebsitePanel.Providers.HostedSolution
|
||||||
|
|
||||||
Command cmd = new Command("Get-PublicFolderClientPermission");
|
Command cmd = new Command("Get-PublicFolderClientPermission");
|
||||||
cmd.Parameters.Add("Identity", folder);
|
cmd.Parameters.Add("Identity", folder);
|
||||||
if (!string.IsNullOrEmpty(PublicFolderServer))
|
cmd.Parameters.Add("Mailbox", mailbox);
|
||||||
cmd.Parameters.Add("Server", PublicFolderServer);
|
|
||||||
Collection<PSObject> result = ExecuteShellCommand(runSpace, cmd);
|
Collection<PSObject> result = ExecuteShellCommand(runSpace, cmd);
|
||||||
|
|
||||||
foreach (PSObject obj in result)
|
foreach (PSObject obj in result)
|
||||||
|
@ -4522,7 +4678,7 @@ namespace WebsitePanel.Providers.HostedSolution
|
||||||
return list.ToArray();
|
return list.ToArray();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void SetPublicFolderGeneralSettingsInternal(string folder, string newFolderName,
|
private void SetPublicFolderGeneralSettingsInternal(string organizationId, string folder, string newFolderName,
|
||||||
bool hideFromAddressBook, ExchangeAccount[] accounts)
|
bool hideFromAddressBook, ExchangeAccount[] accounts)
|
||||||
{
|
{
|
||||||
ExchangeLog.LogStart("SetPublicFolderGeneralSettingsInternal");
|
ExchangeLog.LogStart("SetPublicFolderGeneralSettingsInternal");
|
||||||
|
@ -4534,10 +4690,10 @@ namespace WebsitePanel.Providers.HostedSolution
|
||||||
{
|
{
|
||||||
runSpace = OpenRunspace();
|
runSpace = OpenRunspace();
|
||||||
|
|
||||||
Collection<PSObject> result = GetPublicFolderObject(runSpace, folder);
|
Collection<PSObject> result = GetPublicFolderObject(runSpace, GetPublicFolderMailboxName(organizationId), folder);
|
||||||
PSObject publicFolder = result[0];
|
PSObject publicFolder = result[0];
|
||||||
string folderName = (string)GetPSObjectProperty(publicFolder, "Name");
|
string folderName = (string)GetPSObjectProperty(publicFolder, "Name");
|
||||||
ExchangeAccount[] allAccounts = GetPublicFolderAccounts(runSpace, folder);
|
ExchangeAccount[] allAccounts = GetPublicFolderAccounts(runSpace, GetPublicFolderMailboxName(organizationId), folder);
|
||||||
|
|
||||||
//Remove all accounts and re-apply
|
//Remove all accounts and re-apply
|
||||||
List<ExchangeAccount> accountsToDelete = new List<ExchangeAccount>();
|
List<ExchangeAccount> accountsToDelete = new List<ExchangeAccount>();
|
||||||
|
@ -4576,10 +4732,8 @@ namespace WebsitePanel.Providers.HostedSolution
|
||||||
}
|
}
|
||||||
|
|
||||||
//general settings
|
//general settings
|
||||||
Command cmd = new Command("Set-PublicFolder");
|
Command cmd = new Command("Set-MailPublicFolder");
|
||||||
cmd.Parameters.Add("Identity", folder);
|
cmd.Parameters.Add("Identity", folder);
|
||||||
if (!string.IsNullOrEmpty(PublicFolderServer))
|
|
||||||
cmd.Parameters.Add("Server", PublicFolderServer);
|
|
||||||
if (!folderName.Equals(newFolderName, StringComparison.OrdinalIgnoreCase))
|
if (!folderName.Equals(newFolderName, StringComparison.OrdinalIgnoreCase))
|
||||||
{
|
{
|
||||||
cmd.Parameters.Add("Name", newFolderName);
|
cmd.Parameters.Add("Name", newFolderName);
|
||||||
|
@ -4595,9 +4749,10 @@ namespace WebsitePanel.Providers.HostedSolution
|
||||||
ExchangeLog.LogEnd("SetPublicFolderGeneralSettingsInternal");
|
ExchangeLog.LogEnd("SetPublicFolderGeneralSettingsInternal");
|
||||||
}
|
}
|
||||||
|
|
||||||
private ExchangePublicFolder GetPublicFolderMailFlowSettingsInternal(string folder)
|
private ExchangePublicFolder GetPublicFolderMailFlowSettingsInternal(string organizationId, string folder)
|
||||||
{
|
{
|
||||||
ExchangeLog.LogStart("GetPublicFolderMailFlowSettingsInternal");
|
ExchangeLog.LogStart("GetPublicFolderMailFlowSettingsInternal");
|
||||||
|
ExchangeLog.DebugInfo("Organization: {0}", organizationId);
|
||||||
ExchangeLog.DebugInfo("Folder: {0}", folder);
|
ExchangeLog.DebugInfo("Folder: {0}", folder);
|
||||||
|
|
||||||
ExchangePublicFolder info = new ExchangePublicFolder();
|
ExchangePublicFolder info = new ExchangePublicFolder();
|
||||||
|
@ -4610,8 +4765,6 @@ namespace WebsitePanel.Providers.HostedSolution
|
||||||
|
|
||||||
Command cmd = new Command("Get-MailPublicFolder");
|
Command cmd = new Command("Get-MailPublicFolder");
|
||||||
cmd.Parameters.Add("Identity", folder);
|
cmd.Parameters.Add("Identity", folder);
|
||||||
if (!string.IsNullOrEmpty(PublicFolderServer))
|
|
||||||
cmd.Parameters.Add("Server", PublicFolderServer);
|
|
||||||
Collection<PSObject> result = ExecuteShellCommand(runSpace, cmd);
|
Collection<PSObject> result = ExecuteShellCommand(runSpace, cmd);
|
||||||
PSObject publicFolder = result[0];
|
PSObject publicFolder = result[0];
|
||||||
|
|
||||||
|
@ -4628,10 +4781,11 @@ namespace WebsitePanel.Providers.HostedSolution
|
||||||
return info;
|
return info;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void SetPublicFolderMailFlowSettingsInternal(string folder,
|
private void SetPublicFolderMailFlowSettingsInternal(string organizationId, string folder,
|
||||||
string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication)
|
string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication)
|
||||||
{
|
{
|
||||||
ExchangeLog.LogStart("SetPublicFolderMailFlowSettingsInternal");
|
ExchangeLog.LogStart("SetPublicFolderMailFlowSettingsInternal");
|
||||||
|
ExchangeLog.DebugInfo("Organization: {0}", organizationId);
|
||||||
ExchangeLog.DebugInfo("Folder: {0}", folder);
|
ExchangeLog.DebugInfo("Folder: {0}", folder);
|
||||||
|
|
||||||
Runspace runSpace = null;
|
Runspace runSpace = null;
|
||||||
|
@ -4667,9 +4821,10 @@ namespace WebsitePanel.Providers.HostedSolution
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private ExchangeEmailAddress[] GetPublicFolderEmailAddressesInternal(string folder)
|
private ExchangeEmailAddress[] GetPublicFolderEmailAddressesInternal(string organizationId, string folder)
|
||||||
{
|
{
|
||||||
ExchangeLog.LogStart("GetPublicFolderEmailAddressesInternal");
|
ExchangeLog.LogStart("GetPublicFolderEmailAddressesInternal");
|
||||||
|
ExchangeLog.DebugInfo("Organization: {0}", organizationId);
|
||||||
ExchangeLog.DebugInfo("Folder: {0}", folder);
|
ExchangeLog.DebugInfo("Folder: {0}", folder);
|
||||||
|
|
||||||
List<ExchangeEmailAddress> list = new List<ExchangeEmailAddress>();
|
List<ExchangeEmailAddress> list = new List<ExchangeEmailAddress>();
|
||||||
|
@ -4681,8 +4836,6 @@ namespace WebsitePanel.Providers.HostedSolution
|
||||||
|
|
||||||
Command cmd = new Command("Get-MailPublicFolder");
|
Command cmd = new Command("Get-MailPublicFolder");
|
||||||
cmd.Parameters.Add("Identity", folder);
|
cmd.Parameters.Add("Identity", folder);
|
||||||
if (!string.IsNullOrEmpty(PublicFolderServer))
|
|
||||||
cmd.Parameters.Add("Server", PublicFolderServer);
|
|
||||||
Collection<PSObject> result = ExecuteShellCommand(runSpace, cmd);
|
Collection<PSObject> result = ExecuteShellCommand(runSpace, cmd);
|
||||||
PSObject publicFolder = result[0];
|
PSObject publicFolder = result[0];
|
||||||
|
|
||||||
|
@ -4693,9 +4846,6 @@ namespace WebsitePanel.Providers.HostedSolution
|
||||||
if (smtpAddress != null)
|
if (smtpAddress != null)
|
||||||
primaryEmail = smtpAddress.ToString();
|
primaryEmail = smtpAddress.ToString();
|
||||||
|
|
||||||
//SmtpAddress winAddress = (SmtpAddress)GetPSObjectProperty(publicFolder, "WindowsEmailAddress");
|
|
||||||
//if (winAddress != null)
|
|
||||||
// windowsEmail = winAddress.ToString();
|
|
||||||
windowsEmail = ObjToString(GetPSObjectProperty(publicFolder, "CustomAttribute3"));
|
windowsEmail = ObjToString(GetPSObjectProperty(publicFolder, "CustomAttribute3"));
|
||||||
|
|
||||||
|
|
||||||
|
@ -4721,9 +4871,10 @@ namespace WebsitePanel.Providers.HostedSolution
|
||||||
return list.ToArray();
|
return list.ToArray();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void SetPublicFolderEmailAddressesInternal(string folder, string[] emailAddresses)
|
private void SetPublicFolderEmailAddressesInternal(string organizationId, string folder, string[] emailAddresses)
|
||||||
{
|
{
|
||||||
ExchangeLog.LogStart("SetDistributionListEmailAddressesInternal");
|
ExchangeLog.LogStart("SetDistributionListEmailAddressesInternal");
|
||||||
|
ExchangeLog.DebugInfo("Organization: {0}", organizationId);
|
||||||
ExchangeLog.DebugInfo("Folder: {0}", folder);
|
ExchangeLog.DebugInfo("Folder: {0}", folder);
|
||||||
|
|
||||||
Runspace runSpace = null;
|
Runspace runSpace = null;
|
||||||
|
@ -4734,8 +4885,6 @@ namespace WebsitePanel.Providers.HostedSolution
|
||||||
|
|
||||||
Command cmd = new Command("Get-MailPublicFolder");
|
Command cmd = new Command("Get-MailPublicFolder");
|
||||||
cmd.Parameters.Add("Identity", folder);
|
cmd.Parameters.Add("Identity", folder);
|
||||||
if (!string.IsNullOrEmpty(PublicFolderServer))
|
|
||||||
cmd.Parameters.Add("Server", PublicFolderServer);
|
|
||||||
Collection<PSObject> result = ExecuteShellCommand(runSpace, cmd);
|
Collection<PSObject> result = ExecuteShellCommand(runSpace, cmd);
|
||||||
PSObject publicFolder = result[0];
|
PSObject publicFolder = result[0];
|
||||||
|
|
||||||
|
@ -4772,9 +4921,10 @@ namespace WebsitePanel.Providers.HostedSolution
|
||||||
ExchangeLog.LogEnd("SetPublicFolderEmailAddressesInternal");
|
ExchangeLog.LogEnd("SetPublicFolderEmailAddressesInternal");
|
||||||
}
|
}
|
||||||
|
|
||||||
private void SetPublicFolderPrimaryEmailAddressInternal(string folder, string emailAddress)
|
private void SetPublicFolderPrimaryEmailAddressInternal(string organizationId, string folder, string emailAddress)
|
||||||
{
|
{
|
||||||
ExchangeLog.LogStart("SetPublicFolderPrimaryEmailAddressInternal");
|
ExchangeLog.LogStart("SetPublicFolderPrimaryEmailAddressInternal");
|
||||||
|
ExchangeLog.DebugInfo("Organization: {0}", organizationId);
|
||||||
ExchangeLog.DebugInfo("Folder: {0}", folder);
|
ExchangeLog.DebugInfo("Folder: {0}", folder);
|
||||||
ExchangeLog.DebugInfo("Email: {0}", emailAddress);
|
ExchangeLog.DebugInfo("Email: {0}", emailAddress);
|
||||||
|
|
||||||
|
@ -4799,9 +4949,10 @@ namespace WebsitePanel.Providers.HostedSolution
|
||||||
ExchangeLog.LogEnd("SetPublicFolderPrimaryEmailAddressInternal");
|
ExchangeLog.LogEnd("SetPublicFolderPrimaryEmailAddressInternal");
|
||||||
}
|
}
|
||||||
|
|
||||||
private ExchangeItemStatistics[] GetPublicFoldersStatisticsInternal(string[] folders)
|
private ExchangeItemStatistics[] GetPublicFoldersStatisticsInternal(string organizationId, string[] folders)
|
||||||
{
|
{
|
||||||
ExchangeLog.LogStart("GetPublicFoldersStatisticsInternal");
|
ExchangeLog.LogStart("GetPublicFoldersStatisticsInternal");
|
||||||
|
ExchangeLog.DebugInfo("Organization: {0}", organizationId);
|
||||||
|
|
||||||
Runspace runSpace = null;
|
Runspace runSpace = null;
|
||||||
List<ExchangeItemStatistics> ret = new List<ExchangeItemStatistics>();
|
List<ExchangeItemStatistics> ret = new List<ExchangeItemStatistics>();
|
||||||
|
@ -4814,8 +4965,7 @@ namespace WebsitePanel.Providers.HostedSolution
|
||||||
{
|
{
|
||||||
Command cmd = new Command("Get-PublicFolderStatistics");
|
Command cmd = new Command("Get-PublicFolderStatistics");
|
||||||
cmd.Parameters.Add("Identity", folder);
|
cmd.Parameters.Add("Identity", folder);
|
||||||
if (!string.IsNullOrEmpty(PublicFolderServer))
|
cmd.Parameters.Add("Mailbox", GetPublicFolderMailboxName(organizationId));
|
||||||
cmd.Parameters.Add("Server", PublicFolderServer);
|
|
||||||
Collection<PSObject> result = ExecuteShellCommand(runSpace, cmd);
|
Collection<PSObject> result = ExecuteShellCommand(runSpace, cmd);
|
||||||
if (result != null && result.Count > 0)
|
if (result != null && result.Count > 0)
|
||||||
{
|
{
|
||||||
|
@ -4845,9 +4995,10 @@ namespace WebsitePanel.Providers.HostedSolution
|
||||||
return ret.ToArray();
|
return ret.ToArray();
|
||||||
}
|
}
|
||||||
|
|
||||||
private string[] GetPublicFoldersRecursiveInternal(string parent)
|
private string[] GetPublicFoldersRecursiveInternal(string organizationId, string parent)
|
||||||
{
|
{
|
||||||
ExchangeLog.LogStart("GetPublicFoldersRecursiveInternal");
|
ExchangeLog.LogStart("GetPublicFoldersRecursiveInternal");
|
||||||
|
ExchangeLog.DebugInfo("Organization: {0}", organizationId);
|
||||||
|
|
||||||
Runspace runSpace = null;
|
Runspace runSpace = null;
|
||||||
List<string> ret = new List<string>();
|
List<string> ret = new List<string>();
|
||||||
|
@ -4857,8 +5008,7 @@ namespace WebsitePanel.Providers.HostedSolution
|
||||||
Command cmd = new Command("Get-PublicFolder");
|
Command cmd = new Command("Get-PublicFolder");
|
||||||
cmd.Parameters.Add("Identity", parent);
|
cmd.Parameters.Add("Identity", parent);
|
||||||
cmd.Parameters.Add("Recurse", true);
|
cmd.Parameters.Add("Recurse", true);
|
||||||
if (!string.IsNullOrEmpty(PublicFolderServer))
|
cmd.Parameters.Add("Mailbox", GetPublicFolderMailboxName(organizationId));
|
||||||
cmd.Parameters.Add("Server", PublicFolderServer);
|
|
||||||
|
|
||||||
Collection<PSObject> result = ExecuteShellCommand(runSpace, cmd);
|
Collection<PSObject> result = ExecuteShellCommand(runSpace, cmd);
|
||||||
if (result != null)
|
if (result != null)
|
||||||
|
@ -4877,7 +5027,7 @@ namespace WebsitePanel.Providers.HostedSolution
|
||||||
return ret.ToArray();
|
return ret.ToArray();
|
||||||
}
|
}
|
||||||
|
|
||||||
private long GetPublicFolderSizeInternal(string folder)
|
private long GetPublicFolderSizeInternal(string organizationId, string folder)
|
||||||
{
|
{
|
||||||
ExchangeLog.LogStart("GetPublicFolderSizeInternal");
|
ExchangeLog.LogStart("GetPublicFolderSizeInternal");
|
||||||
long size = 0;
|
long size = 0;
|
||||||
|
@ -4885,7 +5035,7 @@ namespace WebsitePanel.Providers.HostedSolution
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
runSpace = OpenRunspace();
|
runSpace = OpenRunspace();
|
||||||
size += CalculatePublicFolderDiskSpace(runSpace, folder);
|
size += CalculatePublicFolderDiskSpace(runSpace, GetPublicFolderMailboxName(organizationId), folder);
|
||||||
}
|
}
|
||||||
finally
|
finally
|
||||||
{
|
{
|
||||||
|
@ -6855,7 +7005,7 @@ namespace WebsitePanel.Providers.HostedSolution
|
||||||
RemoveUPNSuffix(action.Id, action.Suffix);
|
RemoveUPNSuffix(action.Id, action.Suffix);
|
||||||
break;
|
break;
|
||||||
case TransactionAction.TransactionActionTypes.CreateMailbox:
|
case TransactionAction.TransactionActionTypes.CreateMailbox:
|
||||||
RemoveMailbox(runspace, action.Id);
|
RemoveMailbox(runspace, action.Id, false);
|
||||||
break;
|
break;
|
||||||
case TransactionAction.TransactionActionTypes.EnableMailbox:
|
case TransactionAction.TransactionActionTypes.EnableMailbox:
|
||||||
DisableMailbox(runspace, action.Id);
|
DisableMailbox(runspace, action.Id);
|
||||||
|
@ -6863,8 +7013,11 @@ namespace WebsitePanel.Providers.HostedSolution
|
||||||
case TransactionAction.TransactionActionTypes.CreateContact:
|
case TransactionAction.TransactionActionTypes.CreateContact:
|
||||||
RemoveContact(runspace, action.Id);
|
RemoveContact(runspace, action.Id);
|
||||||
break;
|
break;
|
||||||
|
case TransactionAction.TransactionActionTypes.CreatePublicFolderMailbox:
|
||||||
|
RemoveMailbox(runspace, action.Id, true);
|
||||||
|
break;
|
||||||
case TransactionAction.TransactionActionTypes.CreatePublicFolder:
|
case TransactionAction.TransactionActionTypes.CreatePublicFolder:
|
||||||
RemovePublicFolder(runspace, action.Id);
|
RemovePublicFolder(runspace, action.Account, action.Id);
|
||||||
break;
|
break;
|
||||||
case TransactionAction.TransactionActionTypes.AddMailboxFullAccessPermission:
|
case TransactionAction.TransactionActionTypes.AddMailboxFullAccessPermission:
|
||||||
RemoveMailboxAccessPermission(runspace, action.Account, action.Id, "FullAccess");
|
RemoveMailboxAccessPermission(runspace, action.Account, action.Id, "FullAccess");
|
||||||
|
|
|
@ -429,14 +429,14 @@ namespace WebsitePanel.Providers.HostedSolution
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region Public folders
|
#region Public folders
|
||||||
public void CreatePublicFolder(string organizationId, string securityGroup, string parentFolder,
|
public void CreatePublicFolder(string organizationDistinguishedName, string organizationId, string securityGroup, string parentFolder,
|
||||||
string folderName, bool mailEnabled, string accountName, string name, string domain)
|
string folderName, bool mailEnabled, string accountName, string name, string domain)
|
||||||
{
|
{
|
||||||
CreatePublicFolderInternal(organizationId, securityGroup, parentFolder, folderName,
|
CreatePublicFolderInternal(organizationId, securityGroup, parentFolder, folderName,
|
||||||
mailEnabled, accountName, name, domain);
|
mailEnabled, accountName, name, domain);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void DeletePublicFolder(string folder)
|
public void DeletePublicFolder(string organizationId, string folder)
|
||||||
{
|
{
|
||||||
DeletePublicFolderInternal(folder);
|
DeletePublicFolderInternal(folder);
|
||||||
}
|
}
|
||||||
|
@ -475,58 +475,58 @@ namespace WebsitePanel.Providers.HostedSolution
|
||||||
}
|
}
|
||||||
ExchangeLog.LogEnd("DisableMailboxIntenal");
|
ExchangeLog.LogEnd("DisableMailboxIntenal");
|
||||||
}
|
}
|
||||||
public void DisableMailPublicFolder(string folder)
|
public void DisableMailPublicFolder(string organizationId, string folder)
|
||||||
{
|
{
|
||||||
DisableMailPublicFolderInternal(folder);
|
DisableMailPublicFolderInternal(folder);
|
||||||
}
|
}
|
||||||
|
|
||||||
public ExchangePublicFolder GetPublicFolderGeneralSettings(string folder)
|
public ExchangePublicFolder GetPublicFolderGeneralSettings(string organizationId, string folder)
|
||||||
{
|
{
|
||||||
return GetPublicFolderGeneralSettingsInternal(folder);
|
return GetPublicFolderGeneralSettingsInternal(folder);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SetPublicFolderGeneralSettings(string folder, string newFolderName,
|
public void SetPublicFolderGeneralSettings(string organizationId, string folder, string newFolderName,
|
||||||
bool hideFromAddressBook, ExchangeAccount[] accounts)
|
bool hideFromAddressBook, ExchangeAccount[] accounts)
|
||||||
{
|
{
|
||||||
SetPublicFolderGeneralSettingsInternal(folder, newFolderName, hideFromAddressBook, accounts);
|
SetPublicFolderGeneralSettingsInternal(folder, newFolderName, hideFromAddressBook, accounts);
|
||||||
}
|
}
|
||||||
public ExchangePublicFolder GetPublicFolderMailFlowSettings(string folder)
|
public ExchangePublicFolder GetPublicFolderMailFlowSettings(string organizationId, string folder)
|
||||||
{
|
{
|
||||||
return GetPublicFolderMailFlowSettingsInternal(folder);
|
return GetPublicFolderMailFlowSettingsInternal(folder);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SetPublicFolderMailFlowSettings(string folder,
|
public void SetPublicFolderMailFlowSettings(string organizationId, string folder,
|
||||||
string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication)
|
string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication)
|
||||||
{
|
{
|
||||||
SetPublicFolderMailFlowSettingsInternal(folder, acceptAccounts, rejectAccounts, requireSenderAuthentication);
|
SetPublicFolderMailFlowSettingsInternal(folder, acceptAccounts, rejectAccounts, requireSenderAuthentication);
|
||||||
}
|
}
|
||||||
|
|
||||||
public ExchangeEmailAddress[] GetPublicFolderEmailAddresses(string folder)
|
public ExchangeEmailAddress[] GetPublicFolderEmailAddresses(string organizationId, string folder)
|
||||||
{
|
{
|
||||||
return GetPublicFolderEmailAddressesInternal(folder);
|
return GetPublicFolderEmailAddressesInternal(folder);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SetPublicFolderEmailAddresses(string folder, string[] emailAddresses)
|
public void SetPublicFolderEmailAddresses(string organizationId, string folder, string[] emailAddresses)
|
||||||
{
|
{
|
||||||
SetPublicFolderEmailAddressesInternal(folder, emailAddresses);
|
SetPublicFolderEmailAddressesInternal(folder, emailAddresses);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SetPublicFolderPrimaryEmailAddress(string folder, string emailAddress)
|
public void SetPublicFolderPrimaryEmailAddress(string organizationId, string folder, string emailAddress)
|
||||||
{
|
{
|
||||||
SetPublicFolderPrimaryEmailAddressInternal(folder, emailAddress);
|
SetPublicFolderPrimaryEmailAddressInternal(folder, emailAddress);
|
||||||
}
|
}
|
||||||
|
|
||||||
public ExchangeItemStatistics[] GetPublicFoldersStatistics(string[] folders)
|
public ExchangeItemStatistics[] GetPublicFoldersStatistics(string organizationId, string[] folders)
|
||||||
{
|
{
|
||||||
return GetPublicFoldersStatisticsInternal(folders);
|
return GetPublicFoldersStatisticsInternal(folders);
|
||||||
}
|
}
|
||||||
|
|
||||||
public string[] GetPublicFoldersRecursive(string parent)
|
public string[] GetPublicFoldersRecursive(string organizationId, string parent)
|
||||||
{
|
{
|
||||||
return GetPublicFoldersRecursiveInternal(parent);
|
return GetPublicFoldersRecursiveInternal(parent);
|
||||||
}
|
}
|
||||||
|
|
||||||
public long GetPublicFolderSize(string folder)
|
public long GetPublicFolderSize(string organizationId, string folder)
|
||||||
{
|
{
|
||||||
return GetPublicFolderSizeInternal(folder);
|
return GetPublicFolderSizeInternal(folder);
|
||||||
}
|
}
|
||||||
|
@ -4066,7 +4066,7 @@ namespace WebsitePanel.Providers.HostedSolution
|
||||||
CheckOrganizationRootFolder(runSpace, organizationId, securityGroup);
|
CheckOrganizationRootFolder(runSpace, organizationId, securityGroup);
|
||||||
|
|
||||||
string id = AddPublicFolder(runSpace, folderName, parentFolder);
|
string id = AddPublicFolder(runSpace, folderName, parentFolder);
|
||||||
transaction.RegisterNewPublicFolder(id);
|
transaction.RegisterNewPublicFolder(string.Empty, id);
|
||||||
|
|
||||||
SetPublicFolderPermissions(runSpace, id, securityGroup);
|
SetPublicFolderPermissions(runSpace, id, securityGroup);
|
||||||
|
|
||||||
|
@ -4101,7 +4101,7 @@ namespace WebsitePanel.Providers.HostedSolution
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
string rootId = AddPublicFolder(runSpace, folder, "\\");
|
string rootId = AddPublicFolder(runSpace, folder, "\\");
|
||||||
transaction.RegisterNewPublicFolder(rootId);
|
transaction.RegisterNewPublicFolder(string.Empty, rootId);
|
||||||
SetPublicFolderPermissions(runSpace, rootId, user);
|
SetPublicFolderPermissions(runSpace, rootId, user);
|
||||||
}
|
}
|
||||||
catch
|
catch
|
||||||
|
|
|
@ -162,11 +162,21 @@ namespace WebsitePanel.Providers.HostedSolution
|
||||||
Actions.Add(action);
|
Actions.Add(action);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void RegisterNewPublicFolder(string id)
|
public void RegisterNewPublicFolder(string mailbox, string id)
|
||||||
{
|
{
|
||||||
TransactionAction action = new TransactionAction();
|
TransactionAction action = new TransactionAction();
|
||||||
action.ActionType = TransactionAction.TransactionActionTypes.CreatePublicFolder;
|
action.ActionType = TransactionAction.TransactionActionTypes.CreatePublicFolder;
|
||||||
action.Id = id;
|
action.Id = id;
|
||||||
|
action.Account = mailbox;
|
||||||
|
Actions.Add(action);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void RegisterNewPublicFolderMailbox(string id)
|
||||||
|
{
|
||||||
|
TransactionAction action = new TransactionAction();
|
||||||
|
action.ActionType = TransactionAction.TransactionActionTypes.CreatePublicFolderMailbox;
|
||||||
|
action.Id = id;
|
||||||
Actions.Add(action);
|
Actions.Add(action);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -48,8 +48,7 @@ namespace WebsitePanel.Providers.Exchange {
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
|
|
||||||
using WebsitePanel.Providers.HostedSolution;
|
using WebsitePanel.Providers.HostedSolution;
|
||||||
|
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
|
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
|
||||||
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
||||||
|
@ -2940,8 +2939,9 @@ namespace WebsitePanel.Providers.Exchange {
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
[System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
|
[System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
|
||||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/CreatePublicFolder", 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/CreatePublicFolder", 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 CreatePublicFolder(string organizationId, string securityGroup, string parentFolder, string folderName, bool mailEnabled, string accountName, string name, string domain) {
|
public void CreatePublicFolder(string organizationDistinguishedName, string organizationId, string securityGroup, string parentFolder, string folderName, bool mailEnabled, string accountName, string name, string domain) {
|
||||||
this.Invoke("CreatePublicFolder", new object[] {
|
this.Invoke("CreatePublicFolder", new object[] {
|
||||||
|
organizationDistinguishedName,
|
||||||
organizationId,
|
organizationId,
|
||||||
securityGroup,
|
securityGroup,
|
||||||
parentFolder,
|
parentFolder,
|
||||||
|
@ -2953,8 +2953,9 @@ namespace WebsitePanel.Providers.Exchange {
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public System.IAsyncResult BeginCreatePublicFolder(string organizationId, string securityGroup, string parentFolder, string folderName, bool mailEnabled, string accountName, string name, string domain, System.AsyncCallback callback, object asyncState) {
|
public System.IAsyncResult BeginCreatePublicFolder(string organizationDistinguishedName, string organizationId, string securityGroup, string parentFolder, string folderName, bool mailEnabled, string accountName, string name, string domain, System.AsyncCallback callback, object asyncState) {
|
||||||
return this.BeginInvoke("CreatePublicFolder", new object[] {
|
return this.BeginInvoke("CreatePublicFolder", new object[] {
|
||||||
|
organizationDistinguishedName,
|
||||||
organizationId,
|
organizationId,
|
||||||
securityGroup,
|
securityGroup,
|
||||||
parentFolder,
|
parentFolder,
|
||||||
|
@ -2971,16 +2972,17 @@ namespace WebsitePanel.Providers.Exchange {
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public void CreatePublicFolderAsync(string organizationId, string securityGroup, string parentFolder, string folderName, bool mailEnabled, string accountName, string name, string domain) {
|
public void CreatePublicFolderAsync(string organizationDistinguishedName, string organizationId, string securityGroup, string parentFolder, string folderName, bool mailEnabled, string accountName, string name, string domain) {
|
||||||
this.CreatePublicFolderAsync(organizationId, securityGroup, parentFolder, folderName, mailEnabled, accountName, name, domain, null);
|
this.CreatePublicFolderAsync(organizationDistinguishedName, organizationId, securityGroup, parentFolder, folderName, mailEnabled, accountName, name, domain, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public void CreatePublicFolderAsync(string organizationId, string securityGroup, string parentFolder, string folderName, bool mailEnabled, string accountName, string name, string domain, object userState) {
|
public void CreatePublicFolderAsync(string organizationDistinguishedName, string organizationId, string securityGroup, string parentFolder, string folderName, bool mailEnabled, string accountName, string name, string domain, object userState) {
|
||||||
if ((this.CreatePublicFolderOperationCompleted == null)) {
|
if ((this.CreatePublicFolderOperationCompleted == null)) {
|
||||||
this.CreatePublicFolderOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCreatePublicFolderOperationCompleted);
|
this.CreatePublicFolderOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCreatePublicFolderOperationCompleted);
|
||||||
}
|
}
|
||||||
this.InvokeAsync("CreatePublicFolder", new object[] {
|
this.InvokeAsync("CreatePublicFolder", new object[] {
|
||||||
|
organizationDistinguishedName,
|
||||||
organizationId,
|
organizationId,
|
||||||
securityGroup,
|
securityGroup,
|
||||||
parentFolder,
|
parentFolder,
|
||||||
|
@ -3001,14 +3003,16 @@ namespace WebsitePanel.Providers.Exchange {
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
[System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
|
[System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
|
||||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/DeletePublicFolder", 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/DeletePublicFolder", 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 DeletePublicFolder(string folder) {
|
public void DeletePublicFolder(string organizationId, string folder) {
|
||||||
this.Invoke("DeletePublicFolder", new object[] {
|
this.Invoke("DeletePublicFolder", new object[] {
|
||||||
|
organizationId,
|
||||||
folder});
|
folder});
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public System.IAsyncResult BeginDeletePublicFolder(string folder, System.AsyncCallback callback, object asyncState) {
|
public System.IAsyncResult BeginDeletePublicFolder(string organizationId, string folder, System.AsyncCallback callback, object asyncState) {
|
||||||
return this.BeginInvoke("DeletePublicFolder", new object[] {
|
return this.BeginInvoke("DeletePublicFolder", new object[] {
|
||||||
|
organizationId,
|
||||||
folder}, callback, asyncState);
|
folder}, callback, asyncState);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3018,16 +3022,17 @@ namespace WebsitePanel.Providers.Exchange {
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public void DeletePublicFolderAsync(string folder) {
|
public void DeletePublicFolderAsync(string organizationId, string folder) {
|
||||||
this.DeletePublicFolderAsync(folder, null);
|
this.DeletePublicFolderAsync(organizationId, folder, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public void DeletePublicFolderAsync(string folder, object userState) {
|
public void DeletePublicFolderAsync(string organizationId, string folder, object userState) {
|
||||||
if ((this.DeletePublicFolderOperationCompleted == null)) {
|
if ((this.DeletePublicFolderOperationCompleted == null)) {
|
||||||
this.DeletePublicFolderOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeletePublicFolderOperationCompleted);
|
this.DeletePublicFolderOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeletePublicFolderOperationCompleted);
|
||||||
}
|
}
|
||||||
this.InvokeAsync("DeletePublicFolder", new object[] {
|
this.InvokeAsync("DeletePublicFolder", new object[] {
|
||||||
|
organizationId,
|
||||||
folder}, this.DeletePublicFolderOperationCompleted, userState);
|
folder}, this.DeletePublicFolderOperationCompleted, userState);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3093,14 +3098,16 @@ namespace WebsitePanel.Providers.Exchange {
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
[System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
|
[System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
|
||||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/DisableMailPublicFolder", 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/DisableMailPublicFolder", 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 DisableMailPublicFolder(string folder) {
|
public void DisableMailPublicFolder(string organizationId, string folder) {
|
||||||
this.Invoke("DisableMailPublicFolder", new object[] {
|
this.Invoke("DisableMailPublicFolder", new object[] {
|
||||||
|
organizationId,
|
||||||
folder});
|
folder});
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public System.IAsyncResult BeginDisableMailPublicFolder(string folder, System.AsyncCallback callback, object asyncState) {
|
public System.IAsyncResult BeginDisableMailPublicFolder(string organizationId, string folder, System.AsyncCallback callback, object asyncState) {
|
||||||
return this.BeginInvoke("DisableMailPublicFolder", new object[] {
|
return this.BeginInvoke("DisableMailPublicFolder", new object[] {
|
||||||
|
organizationId,
|
||||||
folder}, callback, asyncState);
|
folder}, callback, asyncState);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3110,16 +3117,17 @@ namespace WebsitePanel.Providers.Exchange {
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public void DisableMailPublicFolderAsync(string folder) {
|
public void DisableMailPublicFolderAsync(string organizationId, string folder) {
|
||||||
this.DisableMailPublicFolderAsync(folder, null);
|
this.DisableMailPublicFolderAsync(organizationId, folder, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public void DisableMailPublicFolderAsync(string folder, object userState) {
|
public void DisableMailPublicFolderAsync(string organizationId, string folder, object userState) {
|
||||||
if ((this.DisableMailPublicFolderOperationCompleted == null)) {
|
if ((this.DisableMailPublicFolderOperationCompleted == null)) {
|
||||||
this.DisableMailPublicFolderOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDisableMailPublicFolderOperationCompleted);
|
this.DisableMailPublicFolderOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDisableMailPublicFolderOperationCompleted);
|
||||||
}
|
}
|
||||||
this.InvokeAsync("DisableMailPublicFolder", new object[] {
|
this.InvokeAsync("DisableMailPublicFolder", new object[] {
|
||||||
|
organizationId,
|
||||||
folder}, this.DisableMailPublicFolderOperationCompleted, userState);
|
folder}, this.DisableMailPublicFolderOperationCompleted, userState);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3133,15 +3141,17 @@ namespace WebsitePanel.Providers.Exchange {
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
[System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
|
[System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
|
||||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/GetPublicFolderGeneralSettings", 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/GetPublicFolderGeneralSettings", 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 ExchangePublicFolder GetPublicFolderGeneralSettings(string folder) {
|
public ExchangePublicFolder GetPublicFolderGeneralSettings(string organizationId, string folder) {
|
||||||
object[] results = this.Invoke("GetPublicFolderGeneralSettings", new object[] {
|
object[] results = this.Invoke("GetPublicFolderGeneralSettings", new object[] {
|
||||||
|
organizationId,
|
||||||
folder});
|
folder});
|
||||||
return ((ExchangePublicFolder)(results[0]));
|
return ((ExchangePublicFolder)(results[0]));
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public System.IAsyncResult BeginGetPublicFolderGeneralSettings(string folder, System.AsyncCallback callback, object asyncState) {
|
public System.IAsyncResult BeginGetPublicFolderGeneralSettings(string organizationId, string folder, System.AsyncCallback callback, object asyncState) {
|
||||||
return this.BeginInvoke("GetPublicFolderGeneralSettings", new object[] {
|
return this.BeginInvoke("GetPublicFolderGeneralSettings", new object[] {
|
||||||
|
organizationId,
|
||||||
folder}, callback, asyncState);
|
folder}, callback, asyncState);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3152,16 +3162,17 @@ namespace WebsitePanel.Providers.Exchange {
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public void GetPublicFolderGeneralSettingsAsync(string folder) {
|
public void GetPublicFolderGeneralSettingsAsync(string organizationId, string folder) {
|
||||||
this.GetPublicFolderGeneralSettingsAsync(folder, null);
|
this.GetPublicFolderGeneralSettingsAsync(organizationId, folder, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public void GetPublicFolderGeneralSettingsAsync(string folder, object userState) {
|
public void GetPublicFolderGeneralSettingsAsync(string organizationId, string folder, object userState) {
|
||||||
if ((this.GetPublicFolderGeneralSettingsOperationCompleted == null)) {
|
if ((this.GetPublicFolderGeneralSettingsOperationCompleted == null)) {
|
||||||
this.GetPublicFolderGeneralSettingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetPublicFolderGeneralSettingsOperationCompleted);
|
this.GetPublicFolderGeneralSettingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetPublicFolderGeneralSettingsOperationCompleted);
|
||||||
}
|
}
|
||||||
this.InvokeAsync("GetPublicFolderGeneralSettings", new object[] {
|
this.InvokeAsync("GetPublicFolderGeneralSettings", new object[] {
|
||||||
|
organizationId,
|
||||||
folder}, this.GetPublicFolderGeneralSettingsOperationCompleted, userState);
|
folder}, this.GetPublicFolderGeneralSettingsOperationCompleted, userState);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3175,8 +3186,9 @@ namespace WebsitePanel.Providers.Exchange {
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
[System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
|
[System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
|
||||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/SetPublicFolderGeneralSettings", 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/SetPublicFolderGeneralSettings", 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 SetPublicFolderGeneralSettings(string folder, string newFolderName, bool hideFromAddressBook, ExchangeAccount[] accounts) {
|
public void SetPublicFolderGeneralSettings(string organizationId, string folder, string newFolderName, bool hideFromAddressBook, ExchangeAccount[] accounts) {
|
||||||
this.Invoke("SetPublicFolderGeneralSettings", new object[] {
|
this.Invoke("SetPublicFolderGeneralSettings", new object[] {
|
||||||
|
organizationId,
|
||||||
folder,
|
folder,
|
||||||
newFolderName,
|
newFolderName,
|
||||||
hideFromAddressBook,
|
hideFromAddressBook,
|
||||||
|
@ -3184,8 +3196,9 @@ namespace WebsitePanel.Providers.Exchange {
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public System.IAsyncResult BeginSetPublicFolderGeneralSettings(string folder, string newFolderName, bool hideFromAddressBook, ExchangeAccount[] accounts, System.AsyncCallback callback, object asyncState) {
|
public System.IAsyncResult BeginSetPublicFolderGeneralSettings(string organizationId, string folder, string newFolderName, bool hideFromAddressBook, ExchangeAccount[] accounts, System.AsyncCallback callback, object asyncState) {
|
||||||
return this.BeginInvoke("SetPublicFolderGeneralSettings", new object[] {
|
return this.BeginInvoke("SetPublicFolderGeneralSettings", new object[] {
|
||||||
|
organizationId,
|
||||||
folder,
|
folder,
|
||||||
newFolderName,
|
newFolderName,
|
||||||
hideFromAddressBook,
|
hideFromAddressBook,
|
||||||
|
@ -3198,16 +3211,17 @@ namespace WebsitePanel.Providers.Exchange {
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public void SetPublicFolderGeneralSettingsAsync(string folder, string newFolderName, bool hideFromAddressBook, ExchangeAccount[] accounts) {
|
public void SetPublicFolderGeneralSettingsAsync(string organizationId, string folder, string newFolderName, bool hideFromAddressBook, ExchangeAccount[] accounts) {
|
||||||
this.SetPublicFolderGeneralSettingsAsync(folder, newFolderName, hideFromAddressBook, accounts, null);
|
this.SetPublicFolderGeneralSettingsAsync(organizationId, folder, newFolderName, hideFromAddressBook, accounts, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public void SetPublicFolderGeneralSettingsAsync(string folder, string newFolderName, bool hideFromAddressBook, ExchangeAccount[] accounts, object userState) {
|
public void SetPublicFolderGeneralSettingsAsync(string organizationId, string folder, string newFolderName, bool hideFromAddressBook, ExchangeAccount[] accounts, object userState) {
|
||||||
if ((this.SetPublicFolderGeneralSettingsOperationCompleted == null)) {
|
if ((this.SetPublicFolderGeneralSettingsOperationCompleted == null)) {
|
||||||
this.SetPublicFolderGeneralSettingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetPublicFolderGeneralSettingsOperationCompleted);
|
this.SetPublicFolderGeneralSettingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetPublicFolderGeneralSettingsOperationCompleted);
|
||||||
}
|
}
|
||||||
this.InvokeAsync("SetPublicFolderGeneralSettings", new object[] {
|
this.InvokeAsync("SetPublicFolderGeneralSettings", new object[] {
|
||||||
|
organizationId,
|
||||||
folder,
|
folder,
|
||||||
newFolderName,
|
newFolderName,
|
||||||
hideFromAddressBook,
|
hideFromAddressBook,
|
||||||
|
@ -3224,15 +3238,17 @@ namespace WebsitePanel.Providers.Exchange {
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
[System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
|
[System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
|
||||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/GetPublicFolderMailFlowSettings", 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/GetPublicFolderMailFlowSettings", 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 ExchangePublicFolder GetPublicFolderMailFlowSettings(string folder) {
|
public ExchangePublicFolder GetPublicFolderMailFlowSettings(string organizationId, string folder) {
|
||||||
object[] results = this.Invoke("GetPublicFolderMailFlowSettings", new object[] {
|
object[] results = this.Invoke("GetPublicFolderMailFlowSettings", new object[] {
|
||||||
|
organizationId,
|
||||||
folder});
|
folder});
|
||||||
return ((ExchangePublicFolder)(results[0]));
|
return ((ExchangePublicFolder)(results[0]));
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public System.IAsyncResult BeginGetPublicFolderMailFlowSettings(string folder, System.AsyncCallback callback, object asyncState) {
|
public System.IAsyncResult BeginGetPublicFolderMailFlowSettings(string organizationId, string folder, System.AsyncCallback callback, object asyncState) {
|
||||||
return this.BeginInvoke("GetPublicFolderMailFlowSettings", new object[] {
|
return this.BeginInvoke("GetPublicFolderMailFlowSettings", new object[] {
|
||||||
|
organizationId,
|
||||||
folder}, callback, asyncState);
|
folder}, callback, asyncState);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3243,16 +3259,17 @@ namespace WebsitePanel.Providers.Exchange {
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public void GetPublicFolderMailFlowSettingsAsync(string folder) {
|
public void GetPublicFolderMailFlowSettingsAsync(string organizationId, string folder) {
|
||||||
this.GetPublicFolderMailFlowSettingsAsync(folder, null);
|
this.GetPublicFolderMailFlowSettingsAsync(organizationId, folder, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public void GetPublicFolderMailFlowSettingsAsync(string folder, object userState) {
|
public void GetPublicFolderMailFlowSettingsAsync(string organizationId, string folder, object userState) {
|
||||||
if ((this.GetPublicFolderMailFlowSettingsOperationCompleted == null)) {
|
if ((this.GetPublicFolderMailFlowSettingsOperationCompleted == null)) {
|
||||||
this.GetPublicFolderMailFlowSettingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetPublicFolderMailFlowSettingsOperationCompleted);
|
this.GetPublicFolderMailFlowSettingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetPublicFolderMailFlowSettingsOperationCompleted);
|
||||||
}
|
}
|
||||||
this.InvokeAsync("GetPublicFolderMailFlowSettings", new object[] {
|
this.InvokeAsync("GetPublicFolderMailFlowSettings", new object[] {
|
||||||
|
organizationId,
|
||||||
folder}, this.GetPublicFolderMailFlowSettingsOperationCompleted, userState);
|
folder}, this.GetPublicFolderMailFlowSettingsOperationCompleted, userState);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3266,8 +3283,9 @@ namespace WebsitePanel.Providers.Exchange {
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
[System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
|
[System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
|
||||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/SetPublicFolderMailFlowSettings", 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/SetPublicFolderMailFlowSettings", 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 SetPublicFolderMailFlowSettings(string folder, string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication) {
|
public void SetPublicFolderMailFlowSettings(string organizationId, string folder, string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication) {
|
||||||
this.Invoke("SetPublicFolderMailFlowSettings", new object[] {
|
this.Invoke("SetPublicFolderMailFlowSettings", new object[] {
|
||||||
|
organizationId,
|
||||||
folder,
|
folder,
|
||||||
acceptAccounts,
|
acceptAccounts,
|
||||||
rejectAccounts,
|
rejectAccounts,
|
||||||
|
@ -3275,8 +3293,9 @@ namespace WebsitePanel.Providers.Exchange {
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public System.IAsyncResult BeginSetPublicFolderMailFlowSettings(string folder, string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication, System.AsyncCallback callback, object asyncState) {
|
public System.IAsyncResult BeginSetPublicFolderMailFlowSettings(string organizationId, string folder, string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication, System.AsyncCallback callback, object asyncState) {
|
||||||
return this.BeginInvoke("SetPublicFolderMailFlowSettings", new object[] {
|
return this.BeginInvoke("SetPublicFolderMailFlowSettings", new object[] {
|
||||||
|
organizationId,
|
||||||
folder,
|
folder,
|
||||||
acceptAccounts,
|
acceptAccounts,
|
||||||
rejectAccounts,
|
rejectAccounts,
|
||||||
|
@ -3289,16 +3308,17 @@ namespace WebsitePanel.Providers.Exchange {
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public void SetPublicFolderMailFlowSettingsAsync(string folder, string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication) {
|
public void SetPublicFolderMailFlowSettingsAsync(string organizationId, string folder, string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication) {
|
||||||
this.SetPublicFolderMailFlowSettingsAsync(folder, acceptAccounts, rejectAccounts, requireSenderAuthentication, null);
|
this.SetPublicFolderMailFlowSettingsAsync(organizationId, folder, acceptAccounts, rejectAccounts, requireSenderAuthentication, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public void SetPublicFolderMailFlowSettingsAsync(string folder, string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication, object userState) {
|
public void SetPublicFolderMailFlowSettingsAsync(string organizationId, string folder, string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication, object userState) {
|
||||||
if ((this.SetPublicFolderMailFlowSettingsOperationCompleted == null)) {
|
if ((this.SetPublicFolderMailFlowSettingsOperationCompleted == null)) {
|
||||||
this.SetPublicFolderMailFlowSettingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetPublicFolderMailFlowSettingsOperationCompleted);
|
this.SetPublicFolderMailFlowSettingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetPublicFolderMailFlowSettingsOperationCompleted);
|
||||||
}
|
}
|
||||||
this.InvokeAsync("SetPublicFolderMailFlowSettings", new object[] {
|
this.InvokeAsync("SetPublicFolderMailFlowSettings", new object[] {
|
||||||
|
organizationId,
|
||||||
folder,
|
folder,
|
||||||
acceptAccounts,
|
acceptAccounts,
|
||||||
rejectAccounts,
|
rejectAccounts,
|
||||||
|
@ -3315,15 +3335,17 @@ namespace WebsitePanel.Providers.Exchange {
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
[System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
|
[System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
|
||||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/GetPublicFolderEmailAddresses", 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/GetPublicFolderEmailAddresses", 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 ExchangeEmailAddress[] GetPublicFolderEmailAddresses(string folder) {
|
public ExchangeEmailAddress[] GetPublicFolderEmailAddresses(string organizationId, string folder) {
|
||||||
object[] results = this.Invoke("GetPublicFolderEmailAddresses", new object[] {
|
object[] results = this.Invoke("GetPublicFolderEmailAddresses", new object[] {
|
||||||
|
organizationId,
|
||||||
folder});
|
folder});
|
||||||
return ((ExchangeEmailAddress[])(results[0]));
|
return ((ExchangeEmailAddress[])(results[0]));
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public System.IAsyncResult BeginGetPublicFolderEmailAddresses(string folder, System.AsyncCallback callback, object asyncState) {
|
public System.IAsyncResult BeginGetPublicFolderEmailAddresses(string organizationId, string folder, System.AsyncCallback callback, object asyncState) {
|
||||||
return this.BeginInvoke("GetPublicFolderEmailAddresses", new object[] {
|
return this.BeginInvoke("GetPublicFolderEmailAddresses", new object[] {
|
||||||
|
organizationId,
|
||||||
folder}, callback, asyncState);
|
folder}, callback, asyncState);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3334,16 +3356,17 @@ namespace WebsitePanel.Providers.Exchange {
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public void GetPublicFolderEmailAddressesAsync(string folder) {
|
public void GetPublicFolderEmailAddressesAsync(string organizationId, string folder) {
|
||||||
this.GetPublicFolderEmailAddressesAsync(folder, null);
|
this.GetPublicFolderEmailAddressesAsync(organizationId, folder, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public void GetPublicFolderEmailAddressesAsync(string folder, object userState) {
|
public void GetPublicFolderEmailAddressesAsync(string organizationId, string folder, object userState) {
|
||||||
if ((this.GetPublicFolderEmailAddressesOperationCompleted == null)) {
|
if ((this.GetPublicFolderEmailAddressesOperationCompleted == null)) {
|
||||||
this.GetPublicFolderEmailAddressesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetPublicFolderEmailAddressesOperationCompleted);
|
this.GetPublicFolderEmailAddressesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetPublicFolderEmailAddressesOperationCompleted);
|
||||||
}
|
}
|
||||||
this.InvokeAsync("GetPublicFolderEmailAddresses", new object[] {
|
this.InvokeAsync("GetPublicFolderEmailAddresses", new object[] {
|
||||||
|
organizationId,
|
||||||
folder}, this.GetPublicFolderEmailAddressesOperationCompleted, userState);
|
folder}, this.GetPublicFolderEmailAddressesOperationCompleted, userState);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3357,15 +3380,17 @@ namespace WebsitePanel.Providers.Exchange {
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
[System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
|
[System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
|
||||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/SetPublicFolderEmailAddresses", 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/SetPublicFolderEmailAddresses", 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 SetPublicFolderEmailAddresses(string folder, string[] emailAddresses) {
|
public void SetPublicFolderEmailAddresses(string organizationId, string folder, string[] emailAddresses) {
|
||||||
this.Invoke("SetPublicFolderEmailAddresses", new object[] {
|
this.Invoke("SetPublicFolderEmailAddresses", new object[] {
|
||||||
|
organizationId,
|
||||||
folder,
|
folder,
|
||||||
emailAddresses});
|
emailAddresses});
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public System.IAsyncResult BeginSetPublicFolderEmailAddresses(string folder, string[] emailAddresses, System.AsyncCallback callback, object asyncState) {
|
public System.IAsyncResult BeginSetPublicFolderEmailAddresses(string organizationId, string folder, string[] emailAddresses, System.AsyncCallback callback, object asyncState) {
|
||||||
return this.BeginInvoke("SetPublicFolderEmailAddresses", new object[] {
|
return this.BeginInvoke("SetPublicFolderEmailAddresses", new object[] {
|
||||||
|
organizationId,
|
||||||
folder,
|
folder,
|
||||||
emailAddresses}, callback, asyncState);
|
emailAddresses}, callback, asyncState);
|
||||||
}
|
}
|
||||||
|
@ -3376,16 +3401,17 @@ namespace WebsitePanel.Providers.Exchange {
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public void SetPublicFolderEmailAddressesAsync(string folder, string[] emailAddresses) {
|
public void SetPublicFolderEmailAddressesAsync(string organizationId, string folder, string[] emailAddresses) {
|
||||||
this.SetPublicFolderEmailAddressesAsync(folder, emailAddresses, null);
|
this.SetPublicFolderEmailAddressesAsync(organizationId, folder, emailAddresses, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public void SetPublicFolderEmailAddressesAsync(string folder, string[] emailAddresses, object userState) {
|
public void SetPublicFolderEmailAddressesAsync(string organizationId, string folder, string[] emailAddresses, object userState) {
|
||||||
if ((this.SetPublicFolderEmailAddressesOperationCompleted == null)) {
|
if ((this.SetPublicFolderEmailAddressesOperationCompleted == null)) {
|
||||||
this.SetPublicFolderEmailAddressesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetPublicFolderEmailAddressesOperationCompleted);
|
this.SetPublicFolderEmailAddressesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetPublicFolderEmailAddressesOperationCompleted);
|
||||||
}
|
}
|
||||||
this.InvokeAsync("SetPublicFolderEmailAddresses", new object[] {
|
this.InvokeAsync("SetPublicFolderEmailAddresses", new object[] {
|
||||||
|
organizationId,
|
||||||
folder,
|
folder,
|
||||||
emailAddresses}, this.SetPublicFolderEmailAddressesOperationCompleted, userState);
|
emailAddresses}, this.SetPublicFolderEmailAddressesOperationCompleted, userState);
|
||||||
}
|
}
|
||||||
|
@ -3400,15 +3426,17 @@ namespace WebsitePanel.Providers.Exchange {
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
[System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
|
[System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
|
||||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/SetPublicFolderPrimaryEmailAddress", 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/SetPublicFolderPrimaryEmailAddress", 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 SetPublicFolderPrimaryEmailAddress(string folder, string emailAddress) {
|
public void SetPublicFolderPrimaryEmailAddress(string organizationId, string folder, string emailAddress) {
|
||||||
this.Invoke("SetPublicFolderPrimaryEmailAddress", new object[] {
|
this.Invoke("SetPublicFolderPrimaryEmailAddress", new object[] {
|
||||||
|
organizationId,
|
||||||
folder,
|
folder,
|
||||||
emailAddress});
|
emailAddress});
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public System.IAsyncResult BeginSetPublicFolderPrimaryEmailAddress(string folder, string emailAddress, System.AsyncCallback callback, object asyncState) {
|
public System.IAsyncResult BeginSetPublicFolderPrimaryEmailAddress(string organizationId, string folder, string emailAddress, System.AsyncCallback callback, object asyncState) {
|
||||||
return this.BeginInvoke("SetPublicFolderPrimaryEmailAddress", new object[] {
|
return this.BeginInvoke("SetPublicFolderPrimaryEmailAddress", new object[] {
|
||||||
|
organizationId,
|
||||||
folder,
|
folder,
|
||||||
emailAddress}, callback, asyncState);
|
emailAddress}, callback, asyncState);
|
||||||
}
|
}
|
||||||
|
@ -3419,16 +3447,17 @@ namespace WebsitePanel.Providers.Exchange {
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public void SetPublicFolderPrimaryEmailAddressAsync(string folder, string emailAddress) {
|
public void SetPublicFolderPrimaryEmailAddressAsync(string organizationId, string folder, string emailAddress) {
|
||||||
this.SetPublicFolderPrimaryEmailAddressAsync(folder, emailAddress, null);
|
this.SetPublicFolderPrimaryEmailAddressAsync(organizationId, folder, emailAddress, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public void SetPublicFolderPrimaryEmailAddressAsync(string folder, string emailAddress, object userState) {
|
public void SetPublicFolderPrimaryEmailAddressAsync(string organizationId, string folder, string emailAddress, object userState) {
|
||||||
if ((this.SetPublicFolderPrimaryEmailAddressOperationCompleted == null)) {
|
if ((this.SetPublicFolderPrimaryEmailAddressOperationCompleted == null)) {
|
||||||
this.SetPublicFolderPrimaryEmailAddressOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetPublicFolderPrimaryEmailAddressOperationCompleted);
|
this.SetPublicFolderPrimaryEmailAddressOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetPublicFolderPrimaryEmailAddressOperationCompleted);
|
||||||
}
|
}
|
||||||
this.InvokeAsync("SetPublicFolderPrimaryEmailAddress", new object[] {
|
this.InvokeAsync("SetPublicFolderPrimaryEmailAddress", new object[] {
|
||||||
|
organizationId,
|
||||||
folder,
|
folder,
|
||||||
emailAddress}, this.SetPublicFolderPrimaryEmailAddressOperationCompleted, userState);
|
emailAddress}, this.SetPublicFolderPrimaryEmailAddressOperationCompleted, userState);
|
||||||
}
|
}
|
||||||
|
@ -3443,15 +3472,17 @@ namespace WebsitePanel.Providers.Exchange {
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
[System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
|
[System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
|
||||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/GetPublicFoldersStatistics", 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/GetPublicFoldersStatistics", 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 ExchangeItemStatistics[] GetPublicFoldersStatistics(string[] folders) {
|
public ExchangeItemStatistics[] GetPublicFoldersStatistics(string organizationId, string[] folders) {
|
||||||
object[] results = this.Invoke("GetPublicFoldersStatistics", new object[] {
|
object[] results = this.Invoke("GetPublicFoldersStatistics", new object[] {
|
||||||
|
organizationId,
|
||||||
folders});
|
folders});
|
||||||
return ((ExchangeItemStatistics[])(results[0]));
|
return ((ExchangeItemStatistics[])(results[0]));
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public System.IAsyncResult BeginGetPublicFoldersStatistics(string[] folders, System.AsyncCallback callback, object asyncState) {
|
public System.IAsyncResult BeginGetPublicFoldersStatistics(string organizationId, string[] folders, System.AsyncCallback callback, object asyncState) {
|
||||||
return this.BeginInvoke("GetPublicFoldersStatistics", new object[] {
|
return this.BeginInvoke("GetPublicFoldersStatistics", new object[] {
|
||||||
|
organizationId,
|
||||||
folders}, callback, asyncState);
|
folders}, callback, asyncState);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3462,16 +3493,17 @@ namespace WebsitePanel.Providers.Exchange {
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public void GetPublicFoldersStatisticsAsync(string[] folders) {
|
public void GetPublicFoldersStatisticsAsync(string organizationId, string[] folders) {
|
||||||
this.GetPublicFoldersStatisticsAsync(folders, null);
|
this.GetPublicFoldersStatisticsAsync(organizationId, folders, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public void GetPublicFoldersStatisticsAsync(string[] folders, object userState) {
|
public void GetPublicFoldersStatisticsAsync(string organizationId, string[] folders, object userState) {
|
||||||
if ((this.GetPublicFoldersStatisticsOperationCompleted == null)) {
|
if ((this.GetPublicFoldersStatisticsOperationCompleted == null)) {
|
||||||
this.GetPublicFoldersStatisticsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetPublicFoldersStatisticsOperationCompleted);
|
this.GetPublicFoldersStatisticsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetPublicFoldersStatisticsOperationCompleted);
|
||||||
}
|
}
|
||||||
this.InvokeAsync("GetPublicFoldersStatistics", new object[] {
|
this.InvokeAsync("GetPublicFoldersStatistics", new object[] {
|
||||||
|
organizationId,
|
||||||
folders}, this.GetPublicFoldersStatisticsOperationCompleted, userState);
|
folders}, this.GetPublicFoldersStatisticsOperationCompleted, userState);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3485,15 +3517,17 @@ namespace WebsitePanel.Providers.Exchange {
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
[System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
|
[System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
|
||||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/GetPublicFoldersRecursive", 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/GetPublicFoldersRecursive", 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 string[] GetPublicFoldersRecursive(string parent) {
|
public string[] GetPublicFoldersRecursive(string organizationId, string parent) {
|
||||||
object[] results = this.Invoke("GetPublicFoldersRecursive", new object[] {
|
object[] results = this.Invoke("GetPublicFoldersRecursive", new object[] {
|
||||||
|
organizationId,
|
||||||
parent});
|
parent});
|
||||||
return ((string[])(results[0]));
|
return ((string[])(results[0]));
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public System.IAsyncResult BeginGetPublicFoldersRecursive(string parent, System.AsyncCallback callback, object asyncState) {
|
public System.IAsyncResult BeginGetPublicFoldersRecursive(string organizationId, string parent, System.AsyncCallback callback, object asyncState) {
|
||||||
return this.BeginInvoke("GetPublicFoldersRecursive", new object[] {
|
return this.BeginInvoke("GetPublicFoldersRecursive", new object[] {
|
||||||
|
organizationId,
|
||||||
parent}, callback, asyncState);
|
parent}, callback, asyncState);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3504,16 +3538,17 @@ namespace WebsitePanel.Providers.Exchange {
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public void GetPublicFoldersRecursiveAsync(string parent) {
|
public void GetPublicFoldersRecursiveAsync(string organizationId, string parent) {
|
||||||
this.GetPublicFoldersRecursiveAsync(parent, null);
|
this.GetPublicFoldersRecursiveAsync(organizationId, parent, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public void GetPublicFoldersRecursiveAsync(string parent, object userState) {
|
public void GetPublicFoldersRecursiveAsync(string organizationId, string parent, object userState) {
|
||||||
if ((this.GetPublicFoldersRecursiveOperationCompleted == null)) {
|
if ((this.GetPublicFoldersRecursiveOperationCompleted == null)) {
|
||||||
this.GetPublicFoldersRecursiveOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetPublicFoldersRecursiveOperationCompleted);
|
this.GetPublicFoldersRecursiveOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetPublicFoldersRecursiveOperationCompleted);
|
||||||
}
|
}
|
||||||
this.InvokeAsync("GetPublicFoldersRecursive", new object[] {
|
this.InvokeAsync("GetPublicFoldersRecursive", new object[] {
|
||||||
|
organizationId,
|
||||||
parent}, this.GetPublicFoldersRecursiveOperationCompleted, userState);
|
parent}, this.GetPublicFoldersRecursiveOperationCompleted, userState);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3527,15 +3562,17 @@ namespace WebsitePanel.Providers.Exchange {
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
[System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
|
[System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
|
||||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/GetPublicFolderSize", 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/GetPublicFolderSize", 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 long GetPublicFolderSize(string folder) {
|
public long GetPublicFolderSize(string organizationId, string folder) {
|
||||||
object[] results = this.Invoke("GetPublicFolderSize", new object[] {
|
object[] results = this.Invoke("GetPublicFolderSize", new object[] {
|
||||||
|
organizationId,
|
||||||
folder});
|
folder});
|
||||||
return ((long)(results[0]));
|
return ((long)(results[0]));
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public System.IAsyncResult BeginGetPublicFolderSize(string folder, System.AsyncCallback callback, object asyncState) {
|
public System.IAsyncResult BeginGetPublicFolderSize(string organizationId, string folder, System.AsyncCallback callback, object asyncState) {
|
||||||
return this.BeginInvoke("GetPublicFolderSize", new object[] {
|
return this.BeginInvoke("GetPublicFolderSize", new object[] {
|
||||||
|
organizationId,
|
||||||
folder}, callback, asyncState);
|
folder}, callback, asyncState);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3546,16 +3583,17 @@ namespace WebsitePanel.Providers.Exchange {
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public void GetPublicFolderSizeAsync(string folder) {
|
public void GetPublicFolderSizeAsync(string organizationId, string folder) {
|
||||||
this.GetPublicFolderSizeAsync(folder, null);
|
this.GetPublicFolderSizeAsync(organizationId, folder, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public void GetPublicFolderSizeAsync(string folder, object userState) {
|
public void GetPublicFolderSizeAsync(string organizationId, string folder, object userState) {
|
||||||
if ((this.GetPublicFolderSizeOperationCompleted == null)) {
|
if ((this.GetPublicFolderSizeOperationCompleted == null)) {
|
||||||
this.GetPublicFolderSizeOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetPublicFolderSizeOperationCompleted);
|
this.GetPublicFolderSizeOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetPublicFolderSizeOperationCompleted);
|
||||||
}
|
}
|
||||||
this.InvokeAsync("GetPublicFolderSize", new object[] {
|
this.InvokeAsync("GetPublicFolderSize", new object[] {
|
||||||
|
organizationId,
|
||||||
folder}, this.GetPublicFolderSizeOperationCompleted, userState);
|
folder}, this.GetPublicFolderSizeOperationCompleted, userState);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -822,13 +822,13 @@ namespace WebsitePanel.Server
|
||||||
|
|
||||||
#region Public Folders
|
#region Public Folders
|
||||||
[WebMethod, SoapHeader("settings")]
|
[WebMethod, SoapHeader("settings")]
|
||||||
public void CreatePublicFolder(string organizationId, string securityGroup, string parentFolder,
|
public void CreatePublicFolder(string organizationDistinguishedName, string organizationId, string securityGroup, string parentFolder,
|
||||||
string folderName, bool mailEnabled, string accountName, string name, string domain)
|
string folderName, bool mailEnabled, string accountName, string name, string domain)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
LogStart("CreatePublicFolder");
|
LogStart("CreatePublicFolder");
|
||||||
ES.CreatePublicFolder(organizationId, securityGroup, parentFolder, folderName,
|
ES.CreatePublicFolder(organizationDistinguishedName, organizationId, securityGroup, parentFolder, folderName,
|
||||||
mailEnabled, accountName, name, domain);
|
mailEnabled, accountName, name, domain);
|
||||||
|
|
||||||
LogEnd("CreatePublicFolder");
|
LogEnd("CreatePublicFolder");
|
||||||
|
@ -841,12 +841,12 @@ namespace WebsitePanel.Server
|
||||||
}
|
}
|
||||||
|
|
||||||
[WebMethod, SoapHeader("settings")]
|
[WebMethod, SoapHeader("settings")]
|
||||||
public void DeletePublicFolder(string folder)
|
public void DeletePublicFolder(string organizationId, string folder)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
LogStart("DeletePublicFolder");
|
LogStart("DeletePublicFolder");
|
||||||
ES.DeletePublicFolder(folder);
|
ES.DeletePublicFolder(organizationId, folder);
|
||||||
LogEnd("DeletePublicFolder");
|
LogEnd("DeletePublicFolder");
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
|
@ -874,12 +874,12 @@ namespace WebsitePanel.Server
|
||||||
}
|
}
|
||||||
|
|
||||||
[WebMethod, SoapHeader("settings")]
|
[WebMethod, SoapHeader("settings")]
|
||||||
public void DisableMailPublicFolder(string folder)
|
public void DisableMailPublicFolder(string organizationId, string folder)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
LogStart("DisableMailPublicFolder");
|
LogStart("DisableMailPublicFolder");
|
||||||
ES.DisableMailPublicFolder(folder);
|
ES.DisableMailPublicFolder(organizationId, folder);
|
||||||
LogEnd("DisableMailPublicFolder");
|
LogEnd("DisableMailPublicFolder");
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
|
@ -890,12 +890,12 @@ namespace WebsitePanel.Server
|
||||||
}
|
}
|
||||||
|
|
||||||
[WebMethod, SoapHeader("settings")]
|
[WebMethod, SoapHeader("settings")]
|
||||||
public ExchangePublicFolder GetPublicFolderGeneralSettings(string folder)
|
public ExchangePublicFolder GetPublicFolderGeneralSettings(string organizationId, string folder)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
LogStart("GetPublicFolderGeneralSettings");
|
LogStart("GetPublicFolderGeneralSettings");
|
||||||
ExchangePublicFolder ret = ES.GetPublicFolderGeneralSettings(folder);
|
ExchangePublicFolder ret = ES.GetPublicFolderGeneralSettings(organizationId, folder);
|
||||||
LogEnd("GetPublicFolderGeneralSettings");
|
LogEnd("GetPublicFolderGeneralSettings");
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
@ -907,13 +907,13 @@ namespace WebsitePanel.Server
|
||||||
}
|
}
|
||||||
|
|
||||||
[WebMethod, SoapHeader("settings")]
|
[WebMethod, SoapHeader("settings")]
|
||||||
public void SetPublicFolderGeneralSettings(string folder, string newFolderName,
|
public void SetPublicFolderGeneralSettings(string organizationId, string folder, string newFolderName,
|
||||||
bool hideFromAddressBook, ExchangeAccount[] accounts)
|
bool hideFromAddressBook, ExchangeAccount[] accounts)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
LogStart("SetPublicFolderGeneralSettings");
|
LogStart("SetPublicFolderGeneralSettings");
|
||||||
ES.SetPublicFolderGeneralSettings(folder, newFolderName, hideFromAddressBook, accounts);
|
ES.SetPublicFolderGeneralSettings(organizationId, folder, newFolderName, hideFromAddressBook, accounts);
|
||||||
LogEnd("SetPublicFolderGeneralSettings");
|
LogEnd("SetPublicFolderGeneralSettings");
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
|
@ -924,12 +924,12 @@ namespace WebsitePanel.Server
|
||||||
}
|
}
|
||||||
|
|
||||||
[WebMethod, SoapHeader("settings")]
|
[WebMethod, SoapHeader("settings")]
|
||||||
public ExchangePublicFolder GetPublicFolderMailFlowSettings(string folder)
|
public ExchangePublicFolder GetPublicFolderMailFlowSettings(string organizationId, string folder)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
LogStart("GetPublicFolderMailFlowSettings");
|
LogStart("GetPublicFolderMailFlowSettings");
|
||||||
ExchangePublicFolder ret = ES.GetPublicFolderMailFlowSettings(folder);
|
ExchangePublicFolder ret = ES.GetPublicFolderMailFlowSettings(organizationId, folder);
|
||||||
LogEnd("GetPublicFolderMailFlowSettings");
|
LogEnd("GetPublicFolderMailFlowSettings");
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
@ -941,13 +941,13 @@ namespace WebsitePanel.Server
|
||||||
}
|
}
|
||||||
|
|
||||||
[WebMethod, SoapHeader("settings")]
|
[WebMethod, SoapHeader("settings")]
|
||||||
public void SetPublicFolderMailFlowSettings(string folder,
|
public void SetPublicFolderMailFlowSettings(string organizationId, string folder,
|
||||||
string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication)
|
string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
LogStart("SetPublicFolderMailFlowSettings");
|
LogStart("SetPublicFolderMailFlowSettings");
|
||||||
ES.SetPublicFolderMailFlowSettings(folder, acceptAccounts, rejectAccounts, requireSenderAuthentication);
|
ES.SetPublicFolderMailFlowSettings(organizationId, folder, acceptAccounts, rejectAccounts, requireSenderAuthentication);
|
||||||
LogEnd("SetPublicFolderMailFlowSettings");
|
LogEnd("SetPublicFolderMailFlowSettings");
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
|
@ -958,12 +958,12 @@ namespace WebsitePanel.Server
|
||||||
}
|
}
|
||||||
|
|
||||||
[WebMethod, SoapHeader("settings")]
|
[WebMethod, SoapHeader("settings")]
|
||||||
public ExchangeEmailAddress[] GetPublicFolderEmailAddresses(string folder)
|
public ExchangeEmailAddress[] GetPublicFolderEmailAddresses(string organizationId, string folder)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
LogStart("GetPublicFolderEmailAddresses");
|
LogStart("GetPublicFolderEmailAddresses");
|
||||||
ExchangeEmailAddress[] ret = ES.GetPublicFolderEmailAddresses(folder);
|
ExchangeEmailAddress[] ret = ES.GetPublicFolderEmailAddresses(organizationId, folder);
|
||||||
LogEnd("GetPublicFolderEmailAddresses");
|
LogEnd("GetPublicFolderEmailAddresses");
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
@ -975,12 +975,12 @@ namespace WebsitePanel.Server
|
||||||
}
|
}
|
||||||
|
|
||||||
[WebMethod, SoapHeader("settings")]
|
[WebMethod, SoapHeader("settings")]
|
||||||
public void SetPublicFolderEmailAddresses(string folder, string[] emailAddresses)
|
public void SetPublicFolderEmailAddresses(string organizationId, string folder, string[] emailAddresses)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
LogStart("SetPublicFolderEmailAddresses");
|
LogStart("SetPublicFolderEmailAddresses");
|
||||||
ES.SetPublicFolderEmailAddresses(folder, emailAddresses);
|
ES.SetPublicFolderEmailAddresses(organizationId, folder, emailAddresses);
|
||||||
LogEnd("SetPublicFolderEmailAddresses");
|
LogEnd("SetPublicFolderEmailAddresses");
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
|
@ -991,12 +991,12 @@ namespace WebsitePanel.Server
|
||||||
}
|
}
|
||||||
|
|
||||||
[WebMethod, SoapHeader("settings")]
|
[WebMethod, SoapHeader("settings")]
|
||||||
public void SetPublicFolderPrimaryEmailAddress(string folder, string emailAddress)
|
public void SetPublicFolderPrimaryEmailAddress(string organizationId, string folder, string emailAddress)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
LogStart("SetPublicFolderPrimaryEmailAddress");
|
LogStart("SetPublicFolderPrimaryEmailAddress");
|
||||||
ES.SetPublicFolderPrimaryEmailAddress(folder, emailAddress);
|
ES.SetPublicFolderPrimaryEmailAddress(organizationId, folder, emailAddress);
|
||||||
LogEnd("SetPublicFolderPrimaryEmailAddress");
|
LogEnd("SetPublicFolderPrimaryEmailAddress");
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
|
@ -1007,12 +1007,12 @@ namespace WebsitePanel.Server
|
||||||
}
|
}
|
||||||
|
|
||||||
[WebMethod, SoapHeader("settings")]
|
[WebMethod, SoapHeader("settings")]
|
||||||
public ExchangeItemStatistics[] GetPublicFoldersStatistics(string[] folders)
|
public ExchangeItemStatistics[] GetPublicFoldersStatistics(string organizationId, string[] folders)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
LogStart("GetPublicFoldersStatistics");
|
LogStart("GetPublicFoldersStatistics");
|
||||||
ExchangeItemStatistics[] ret = ES.GetPublicFoldersStatistics(folders);
|
ExchangeItemStatistics[] ret = ES.GetPublicFoldersStatistics(organizationId, folders);
|
||||||
LogEnd("GetPublicFoldersStatistics");
|
LogEnd("GetPublicFoldersStatistics");
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
@ -1024,12 +1024,12 @@ namespace WebsitePanel.Server
|
||||||
}
|
}
|
||||||
|
|
||||||
[WebMethod, SoapHeader("settings")]
|
[WebMethod, SoapHeader("settings")]
|
||||||
public string[] GetPublicFoldersRecursive(string parent)
|
public string[] GetPublicFoldersRecursive(string organizationId, string parent)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
LogStart("GetPublicFoldersRecursive");
|
LogStart("GetPublicFoldersRecursive");
|
||||||
string[] ret = ES.GetPublicFoldersRecursive(parent);
|
string[] ret = ES.GetPublicFoldersRecursive(organizationId, parent);
|
||||||
LogEnd("GetPublicFoldersRecursive");
|
LogEnd("GetPublicFoldersRecursive");
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
@ -1041,12 +1041,12 @@ namespace WebsitePanel.Server
|
||||||
}
|
}
|
||||||
|
|
||||||
[WebMethod, SoapHeader("settings")]
|
[WebMethod, SoapHeader("settings")]
|
||||||
public long GetPublicFolderSize(string folder)
|
public long GetPublicFolderSize(string organizationId, string folder)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
LogStart("GetPublicFolderSize");
|
LogStart("GetPublicFolderSize");
|
||||||
long ret = ES.GetPublicFolderSize(folder);
|
long ret = ES.GetPublicFolderSize(organizationId, folder);
|
||||||
LogEnd("GetPublicFolderSize");
|
LogEnd("GetPublicFolderSize");
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue