Updated ABP Code to check Exchange Version for SP2 and App Setting
This commit is contained in:
parent
2a5b26ba1c
commit
1ca6c02fd1
3 changed files with 68 additions and 35 deletions
|
@ -67,6 +67,7 @@ namespace WebsitePanel.Providers.HostedSolution
|
||||||
|
|
||||||
#region Constants
|
#region Constants
|
||||||
private const string CONFIG_CLEAR_QUERYBASEDN = "WebsitePanel.Exchange.ClearQueryBaseDN";
|
private const string CONFIG_CLEAR_QUERYBASEDN = "WebsitePanel.Exchange.ClearQueryBaseDN";
|
||||||
|
private const string CONFIG_ENABLESP2ABP = "WebsitePanel.Exchange.enableSP2abp";
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region Properties
|
#region Properties
|
||||||
|
@ -841,11 +842,19 @@ namespace WebsitePanel.Providers.HostedSolution
|
||||||
info.OfflineAddressBook = oabId;
|
info.OfflineAddressBook = oabId;
|
||||||
|
|
||||||
//create ABP
|
//create ABP
|
||||||
string abpId = CreateAddressPolicy(runSpace, organizationId);
|
|
||||||
transaction.RegisterNewAddressPolicy(abpId);
|
|
||||||
ExchangeLog.LogInfo(" Address Policy: {0}", abpId);
|
|
||||||
|
|
||||||
}
|
bool enableSP2abp = false;
|
||||||
|
if (ConfigurationManager.AppSettings[CONFIG_ENABLESP2ABP] != null)
|
||||||
|
enableSP2abp = Boolean.Parse(ConfigurationManager.AppSettings[CONFIG_ENABLESP2ABP]);
|
||||||
|
Version exchangeVersion = GetExchangeVersion();
|
||||||
|
|
||||||
|
if (enableSP2abp && (exchangeVersion >= new Version(14, 2)))
|
||||||
|
{
|
||||||
|
string abpId = CreateAddressPolicy(runSpace, organizationId);
|
||||||
|
transaction.RegisterNewAddressPolicy(abpId);
|
||||||
|
ExchangeLog.LogInfo(" Address Policy: {0}", abpId);
|
||||||
|
}
|
||||||
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
ExchangeLog.LogError("CreateOrganizationOfflineAddressBookInternal", ex);
|
ExchangeLog.LogError("CreateOrganizationOfflineAddressBookInternal", ex);
|
||||||
|
@ -930,16 +939,27 @@ namespace WebsitePanel.Providers.HostedSolution
|
||||||
|
|
||||||
//delete ABP
|
//delete ABP
|
||||||
|
|
||||||
string adpstring = GetAddressPolicyName(organizationId);
|
bool enableSP2abp = false;
|
||||||
try
|
if (ConfigurationManager.AppSettings[CONFIG_ENABLESP2ABP] != null)
|
||||||
|
enableSP2abp = Boolean.Parse(ConfigurationManager.AppSettings[CONFIG_ENABLESP2ABP]);
|
||||||
|
Version exchangeVersion = GetExchangeVersion();
|
||||||
|
|
||||||
|
if (enableSP2abp && (exchangeVersion >= new Version(14, 2)))
|
||||||
{
|
{
|
||||||
if (!string.IsNullOrEmpty(adpstring))
|
|
||||||
DeleteAddressPolicy(runSpace, adpstring);
|
|
||||||
}
|
string adpstring = GetAddressPolicyName(organizationId);
|
||||||
catch (Exception ex)
|
|
||||||
{
|
try
|
||||||
ret = false;
|
{
|
||||||
ExchangeLog.LogError("Could not delete Address Policy " + globalAddressList, ex);
|
if (!string.IsNullOrEmpty(adpstring))
|
||||||
|
DeleteAddressPolicy(runSpace, adpstring);
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
ret = false;
|
||||||
|
ExchangeLog.LogError("Could not delete Address Policy " + globalAddressList, ex);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//delete OAB
|
//delete OAB
|
||||||
|
@ -1770,6 +1790,7 @@ namespace WebsitePanel.Providers.HostedSolution
|
||||||
int attempts = 0;
|
int attempts = 0;
|
||||||
string id = null;
|
string id = null;
|
||||||
|
|
||||||
|
Version exchangeVersion = GetExchangeVersion();
|
||||||
|
|
||||||
|
|
||||||
try
|
try
|
||||||
|
@ -1828,7 +1849,13 @@ namespace WebsitePanel.Providers.HostedSolution
|
||||||
cmd.Parameters.Add("CustomAttribute3", windowsEmailAddress);
|
cmd.Parameters.Add("CustomAttribute3", windowsEmailAddress);
|
||||||
cmd.Parameters.Add("PrimarySmtpAddress", upn);
|
cmd.Parameters.Add("PrimarySmtpAddress", upn);
|
||||||
cmd.Parameters.Add("WindowsEmailAddress", upn);
|
cmd.Parameters.Add("WindowsEmailAddress", upn);
|
||||||
cmd.Parameters.Add("AddressBookPolicy", adpstring);
|
|
||||||
|
bool enableSP2abp = false;
|
||||||
|
if (ConfigurationManager.AppSettings[CONFIG_ENABLESP2ABP] != null)
|
||||||
|
enableSP2abp = Boolean.Parse(ConfigurationManager.AppSettings[CONFIG_ENABLESP2ABP]);
|
||||||
|
if (enableSP2abp && (exchangeVersion >= new Version(14, 2)))
|
||||||
|
cmd.Parameters.Add("AddressBookPolicy", adpstring);
|
||||||
|
|
||||||
cmd.Parameters.Add("UseDatabaseQuotaDefaults", new bool?(false));
|
cmd.Parameters.Add("UseDatabaseQuotaDefaults", new bool?(false));
|
||||||
cmd.Parameters.Add("UseDatabaseRetentionDefaults", false);
|
cmd.Parameters.Add("UseDatabaseRetentionDefaults", false);
|
||||||
cmd.Parameters.Add("IssueWarningQuota", ConvertKBToUnlimited(issueWarningKB));
|
cmd.Parameters.Add("IssueWarningQuota", ConvertKBToUnlimited(issueWarningKB));
|
||||||
|
@ -1849,7 +1876,6 @@ namespace WebsitePanel.Providers.HostedSolution
|
||||||
bool clearQueryBaseDN = false;
|
bool clearQueryBaseDN = false;
|
||||||
if (ConfigurationManager.AppSettings[CONFIG_CLEAR_QUERYBASEDN] != null)
|
if (ConfigurationManager.AppSettings[CONFIG_CLEAR_QUERYBASEDN] != null)
|
||||||
clearQueryBaseDN = Boolean.Parse(ConfigurationManager.AppSettings[CONFIG_CLEAR_QUERYBASEDN]);
|
clearQueryBaseDN = Boolean.Parse(ConfigurationManager.AppSettings[CONFIG_CLEAR_QUERYBASEDN]);
|
||||||
Version exchangeVersion = GetExchangeVersion();
|
|
||||||
|
|
||||||
if (!(clearQueryBaseDN && (exchangeVersion >= new Version(14, 1))))
|
if (!(clearQueryBaseDN && (exchangeVersion >= new Version(14, 1))))
|
||||||
SetADObjectPropertyValue(mailbox, "msExchQueryBaseDN", globalAddressListDN);
|
SetADObjectPropertyValue(mailbox, "msExchQueryBaseDN", globalAddressListDN);
|
||||||
|
@ -1910,6 +1936,8 @@ namespace WebsitePanel.Providers.HostedSolution
|
||||||
ExchangeTransaction transaction = StartTransaction();
|
ExchangeTransaction transaction = StartTransaction();
|
||||||
Runspace runSpace = null;
|
Runspace runSpace = null;
|
||||||
|
|
||||||
|
Version exchangeVersion = GetExchangeVersion();
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
runSpace = OpenRunspace();
|
runSpace = OpenRunspace();
|
||||||
|
@ -1952,7 +1980,13 @@ namespace WebsitePanel.Providers.HostedSolution
|
||||||
cmd.Parameters.Add("CustomAttribute3", windowsEmailAddress);
|
cmd.Parameters.Add("CustomAttribute3", windowsEmailAddress);
|
||||||
cmd.Parameters.Add("PrimarySmtpAddress", upn);
|
cmd.Parameters.Add("PrimarySmtpAddress", upn);
|
||||||
cmd.Parameters.Add("WindowsEmailAddress", upn);
|
cmd.Parameters.Add("WindowsEmailAddress", upn);
|
||||||
cmd.Parameters.Add("AddressBookPolicy", adpstring);
|
|
||||||
|
bool enableSP2abp = false;
|
||||||
|
if (ConfigurationManager.AppSettings[CONFIG_ENABLESP2ABP] != null)
|
||||||
|
enableSP2abp = Boolean.Parse(ConfigurationManager.AppSettings[CONFIG_ENABLESP2ABP]);
|
||||||
|
if (enableSP2abp && (exchangeVersion >= new Version(14, 2)))
|
||||||
|
cmd.Parameters.Add("AddressBookPolicy", adpstring);
|
||||||
|
|
||||||
cmd.Parameters.Add("UseDatabaseQuotaDefaults", new bool?(false));
|
cmd.Parameters.Add("UseDatabaseQuotaDefaults", new bool?(false));
|
||||||
cmd.Parameters.Add("UseDatabaseRetentionDefaults", false);
|
cmd.Parameters.Add("UseDatabaseRetentionDefaults", false);
|
||||||
cmd.Parameters.Add("IssueWarningQuota", ConvertKBToUnlimited(issueWarningKB));
|
cmd.Parameters.Add("IssueWarningQuota", ConvertKBToUnlimited(issueWarningKB));
|
||||||
|
@ -1970,7 +2004,6 @@ namespace WebsitePanel.Providers.HostedSolution
|
||||||
bool clearQueryBaseDN = false;
|
bool clearQueryBaseDN = false;
|
||||||
if (ConfigurationManager.AppSettings[CONFIG_CLEAR_QUERYBASEDN] != null)
|
if (ConfigurationManager.AppSettings[CONFIG_CLEAR_QUERYBASEDN] != null)
|
||||||
clearQueryBaseDN = Boolean.Parse(ConfigurationManager.AppSettings[CONFIG_CLEAR_QUERYBASEDN]);
|
clearQueryBaseDN = Boolean.Parse(ConfigurationManager.AppSettings[CONFIG_CLEAR_QUERYBASEDN]);
|
||||||
Version exchangeVersion = GetExchangeVersion();
|
|
||||||
|
|
||||||
if (!(clearQueryBaseDN && (exchangeVersion >= new Version(14, 1))))
|
if (!(clearQueryBaseDN && (exchangeVersion >= new Version(14, 1))))
|
||||||
SetADObjectPropertyValue(mailbox, "msExchQueryBaseDN", globalAddressListDN);
|
SetADObjectPropertyValue(mailbox, "msExchQueryBaseDN", globalAddressListDN);
|
||||||
|
|
|
@ -15,7 +15,7 @@
|
||||||
<OldToolsVersion>3.5</OldToolsVersion>
|
<OldToolsVersion>3.5</OldToolsVersion>
|
||||||
<UpgradeBackupLocation>
|
<UpgradeBackupLocation>
|
||||||
</UpgradeBackupLocation>
|
</UpgradeBackupLocation>
|
||||||
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
|
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
|
||||||
<PublishUrl>publish\</PublishUrl>
|
<PublishUrl>publish\</PublishUrl>
|
||||||
<Install>true</Install>
|
<Install>true</Install>
|
||||||
<InstallFrom>Disk</InstallFrom>
|
<InstallFrom>Disk</InstallFrom>
|
||||||
|
@ -80,31 +80,31 @@
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="Microsoft.Exchange.Common, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
<Reference Include="Microsoft.Exchange.Common, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||||
<SpecificVersion>False</SpecificVersion>
|
<SpecificVersion>False</SpecificVersion>
|
||||||
<HintPath>..\..\..\..\..\WebsitePanel.bak\WebsitePanel\Branches\1.2.0\Lib\References\Microsoft\Microsoft.Exchange.Common.dll</HintPath>
|
<HintPath>..\..\Bin\Microsoft.Exchange.Common.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="Microsoft.Exchange.Data, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
<Reference Include="Microsoft.Exchange.Data, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||||
<SpecificVersion>False</SpecificVersion>
|
<SpecificVersion>False</SpecificVersion>
|
||||||
<HintPath>..\..\..\..\..\WebsitePanel.bak\WebsitePanel\Branches\1.2.0\Lib\References\Microsoft\Microsoft.Exchange.Data.dll</HintPath>
|
<HintPath>..\..\Bin\Microsoft.Exchange.Data.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="Microsoft.Exchange.Data.Directory, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
<Reference Include="Microsoft.Exchange.Data.Directory, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||||
<SpecificVersion>False</SpecificVersion>
|
<SpecificVersion>False</SpecificVersion>
|
||||||
<HintPath>..\..\..\..\..\WebsitePanel.bak\WebsitePanel\Branches\1.2.0\Lib\References\Microsoft\Microsoft.Exchange.Data.Directory.dll</HintPath>
|
<HintPath>..\..\Bin\Microsoft.Exchange.Data.Directory.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="Microsoft.Exchange.Data.Storage, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
<Reference Include="Microsoft.Exchange.Data.Storage, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||||
<SpecificVersion>False</SpecificVersion>
|
<SpecificVersion>False</SpecificVersion>
|
||||||
<HintPath>..\..\..\..\..\WebsitePanel.bak\WebsitePanel\Branches\1.2.0\Lib\References\Microsoft\Microsoft.Exchange.Data.Storage.dll</HintPath>
|
<HintPath>..\..\Bin\Microsoft.Exchange.Data.Storage.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="Microsoft.Exchange.Diagnostics, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
<Reference Include="Microsoft.Exchange.Diagnostics, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||||
<SpecificVersion>False</SpecificVersion>
|
<SpecificVersion>False</SpecificVersion>
|
||||||
<HintPath>..\..\..\..\..\WebsitePanel.bak\WebsitePanel\Branches\1.2.0\Lib\References\Microsoft\Microsoft.Exchange.Diagnostics.dll</HintPath>
|
<HintPath>..\..\Bin\Microsoft.Exchange.Diagnostics.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="Microsoft.Exchange.Extensibility.Internal, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
<Reference Include="Microsoft.Exchange.Extensibility.Internal, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||||
<SpecificVersion>False</SpecificVersion>
|
<SpecificVersion>False</SpecificVersion>
|
||||||
<HintPath>..\..\..\..\..\WebsitePanel.bak\WebsitePanel\Branches\1.2.0\Lib\References\Microsoft\Microsoft.Exchange.Extensibility.Internal.dll</HintPath>
|
<HintPath>..\..\Bin\Microsoft.Exchange.Extensibility.Internal.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="Microsoft.Exchange.Net, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
<Reference Include="Microsoft.Exchange.Net, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||||
<SpecificVersion>False</SpecificVersion>
|
<SpecificVersion>False</SpecificVersion>
|
||||||
<HintPath>..\..\..\..\..\WebsitePanel.bak\WebsitePanel\Branches\1.2.0\Lib\References\Microsoft\Microsoft.Exchange.Net.dll</HintPath>
|
<HintPath>..\..\Bin\Microsoft.Exchange.Net.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="Microsoft.SharePoint">
|
<Reference Include="Microsoft.SharePoint">
|
||||||
<HintPath>..\..\Lib\References\Microsoft\Microsoft.SharePoint.dll</HintPath>
|
<HintPath>..\..\Lib\References\Microsoft\Microsoft.SharePoint.dll</HintPath>
|
||||||
|
@ -123,6 +123,14 @@
|
||||||
<Reference Include="System.Web" />
|
<Reference Include="System.Web" />
|
||||||
<Reference Include="System.Web.Services" />
|
<Reference Include="System.Web.Services" />
|
||||||
<Reference Include="System.Xml" />
|
<Reference Include="System.Xml" />
|
||||||
|
<Reference Include="WebsitePanel.Providers.Base, Version=1.2.0.0, Culture=neutral, PublicKeyToken=da8782a6fc4d0081, processorArchitecture=MSIL">
|
||||||
|
<SpecificVersion>False</SpecificVersion>
|
||||||
|
<HintPath>..\..\..\bin\WebsitePanel.Providers.Base.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="WebsitePanel.Server.Utils, Version=1.2.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||||
|
<SpecificVersion>False</SpecificVersion>
|
||||||
|
<HintPath>..\..\..\bin\WebsitePanel.Server.Utils.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Compile Include="..\VersionInfo.cs">
|
<Compile Include="..\VersionInfo.cs">
|
||||||
|
@ -145,16 +153,6 @@
|
||||||
<Compile Include="OrganizationProvider.cs" />
|
<Compile Include="OrganizationProvider.cs" />
|
||||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
|
||||||
<ProjectReference Include="..\WebsitePanel.Providers.Base\WebsitePanel.Providers.Base.csproj">
|
|
||||||
<Project>{684C932A-6C75-46AC-A327-F3689D89EB42}</Project>
|
|
||||||
<Name>WebsitePanel.Providers.Base</Name>
|
|
||||||
</ProjectReference>
|
|
||||||
<ProjectReference Include="..\WebsitePanel.Server.Utils\WebsitePanel.Server.Utils.csproj">
|
|
||||||
<Project>{E91E52F3-9555-4D00-B577-2B1DBDD87CA7}</Project>
|
|
||||||
<Name>WebsitePanel.Server.Utils</Name>
|
|
||||||
</ProjectReference>
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<WebReferences Include="Web References\" />
|
<WebReferences Include="Web References\" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
|
@ -8,6 +8,8 @@
|
||||||
</configSections>
|
</configSections>
|
||||||
<appSettings>
|
<appSettings>
|
||||||
<add key="WebsitePanel.HyperV.UseDiskPartClearReadOnlyFlag" value="false"/>
|
<add key="WebsitePanel.HyperV.UseDiskPartClearReadOnlyFlag" value="false"/>
|
||||||
|
<add key="WebsitePanel.Exchange.ClearQueryBaseDN" value="false" />
|
||||||
|
<add key="WebsitePanel.Exchange.enableSP2abp" value="false" />
|
||||||
<add key="SCVMMServerName" value=""/>
|
<add key="SCVMMServerName" value=""/>
|
||||||
<add key="SCVMMServerPort" value=""/>
|
<add key="SCVMMServerPort" value=""/>
|
||||||
</appSettings>
|
</appSettings>
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue