diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/ExchangeServer/ExchangeServerController.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/ExchangeServer/ExchangeServerController.cs index f2a66144..232439d8 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/ExchangeServer/ExchangeServerController.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/ExchangeServer/ExchangeServerController.cs @@ -3674,10 +3674,13 @@ namespace WebsitePanel.EnterpriseServer name, domain); + + ExchangePublicFolder folder = exchange.GetPublicFolderGeneralSettings(parentFolder + "\\" + folderName); + // add meta-item int accountId = AddAccount(itemId, ExchangeAccountType.PublicFolder, accountName, folderPath, email, mailEnabled, - 0, "", null, 0 , null); + 0, folder.NETBIOS+"\\"+accountName, null, 0, null); // register email address if(mailEnabled) diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangePublicFolder.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangePublicFolder.cs index 2a530ce8..8e0b5b50 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangePublicFolder.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangePublicFolder.cs @@ -31,7 +31,9 @@ namespace WebsitePanel.Providers.HostedSolution public class ExchangePublicFolder { string name; + string netbios; string displayName; + string sAMAccountName; bool hideFromAddressBook; bool mailEnabled; @@ -89,5 +91,19 @@ namespace WebsitePanel.Providers.HostedSolution get { return requireSenderAuthentication; } set { requireSenderAuthentication = value; } } + + public string SAMAccountName + { + get { return this.sAMAccountName; } + set { this.sAMAccountName = value; } + } + + public string NETBIOS + { + get { return this.netbios; } + set { this.netbios = value; } + } + + } } diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/Exchange2007.cs b/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/Exchange2007.cs index d7e56871..598a133f 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/Exchange2007.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/Exchange2007.cs @@ -4321,8 +4321,22 @@ namespace WebsitePanel.Providers.HostedSolution info.Name = (string)GetPSObjectProperty(publicFolder, "Name"); info.MailEnabled = (bool)GetPSObjectProperty(publicFolder, "MailEnabled"); info.HideFromAddressBook = (bool)GetPSObjectProperty(publicFolder, "HiddenFromAddressListsEnabled"); + info.NETBIOS = GetNETBIOSDomainName(); + info.Accounts = GetPublicFolderAccounts(runSpace, folder); - info.Accounts = GetPublicFolderAccounts(runSpace, folder); + if (info.MailEnabled) + { + Command cmd = new Command("Get-MailPublicFolder"); + cmd.Parameters.Add("Identity", folder); + if (!string.IsNullOrEmpty(PublicFolderServer)) + cmd.Parameters.Add("Server", PublicFolderServer); + result = ExecuteShellCommand(runSpace, cmd); + if (result.Count > 0) + { + publicFolder = result[0]; + info.SAMAccountName = string.Format("{0}\\{1}", GetNETBIOSDomainName(), (string)GetPSObjectProperty(publicFolder, "Alias")); + } + } } finally {