Link to home
Create AccountLog in
Exchange

Exchange

--

Questions

--

Followers

Top Experts

Avatar of David Barman
David Barman🇺🇸

Exchange 2016 Autodiscover error
New Exchange 2016 install.  Having what appears to be an autodiscover problem.  OWA is not working and Outlook connections are not working.  Getting the following no OWA login:
An unexpected error occurred and your request couldn't be handled.
X-ClientId: 49DBB0A7F8B3491893124058DEF01F34
request-id 57f2763f-d11a-440d-98a6-82557d3f38b5
X-OWA-Error System.IO.FileNotFoundException
X-OWA-Version 15.1.1779.2

When i try to browse the to autodiscover URL I get the following:
Server Error in '/Autodiscover' Application.
Could not load file or assembly 'Microsoft.Exchange.AutoDiscover.Configuration, Version=15.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.Exchange.AutoDiscover.Configuration, Version=15.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.

Source Error:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

Assembly Load Trace: The following information can be helpful to determine why the assembly 'Microsoft.Exchange.AutoDiscover.Configuration, Version=15.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' could not be loaded.

Stack Trace:


[FileNotFoundException: Could not load file or assembly 'Microsoft.Exchange.AutoDiscover.Configuration, Version=15.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.]
   Microsoft.Exchange.Autodiscover.PerformanceCounters.Initialize() +0
   Microsoft.Exchange.Autodiscover.Global.Application_Start(Object sender, EventArgs e) +366

[HttpException (0x80004005): Could not load file or assembly 'Microsoft.Exchange.AutoDiscover.Configuration, Version=15.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.]
   System.Web.HttpApplicationFactory.EnsureAppStartCalledForIntegratedMode(HttpContext context, HttpApplication app) +520
   System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr appContext, HttpContext context, MethodInfo[] handlers) +176
   System.Web.HttpApplication.InitSpecial(HttpApplicationState state, MethodInfo[] handlers, IntPtr appContext, HttpContext context) +165
   System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext, HttpContext context) +353
   System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext) +341

[HttpException (0x80004005): Could not load file or assembly 'Microsoft.Exchange.AutoDiscover.Configuration, Version=15.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.]
   System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +523
   System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +107
   System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +688

Zero AI Policy

We believe in human intelligence. Our moderation policy strictly prohibits the use of LLM content in our Q&A threads.


Avatar of Seth SimmonsSeth Simmons🇺🇸

Microsoft.Exchange.AutoDiscover.Configuration, Version=15.0.0.0

that is exchange 2013; 15.1.x is Exchange 2016

Avatar of David BarmanDavid Barman🇺🇸

ASKER

Ok.  I definitely installed Exchange 2016.

Avatar of David BarmanDavid Barman🇺🇸

ASKER

Not sure why it would report the wrong version.
Any thoughts?

Reward 1Reward 2Reward 3Reward 4Reward 5Reward 6

EARN REWARDS FOR ASKING, ANSWERING, AND MORE.

Earn free swag for participating on the platform.


Avatar of IvanIvan🇷🇸

Hello,

is this the only Exchange in your organization, or are you doing migration?

Regards,
Ivan.

Avatar of David BarmanDavid Barman🇺🇸

ASKER

this is the only exchange.  I have since tried installed the CU14 to see if that would fix any of the issues.  However, that is failing on the mailbox role: transport service with the following:

Error:
The following error was generated when "$error.Clear();
        if (get-service MSExchangeServiceHost* | where {$_.name -eq "MSExchangeServiceHost"})
        {
            restart-service MSExchangeServiceHost
        }
        " was run: "Microsoft.PowerShell.Commands.ServiceCommandException: Service 'Microsoft Exchange Service Host (MSExchangeServiceHost)' cannot be started due to the following error: Cannot start service MSExchangeServiceHost on computer '.'. ---> System.InvalidOperationException: Cannot start service MSExchangeServiceHost on computer '.'. ---> System.ComponentModel.Win32Exception: The service cannot be started, either because it is disabled or because it has no enabled devices associated with it
   --- End of inner exception stack trace ---
   at System.ServiceProcess.ServiceController.Start(String[] args)
   at Microsoft.PowerShell.Commands.ServiceOperationBaseCommand.DoStartService(ServiceController serviceController)
   --- End of inner exception stack trace ---".

Not sure if this is related.  Any ideas?

Free T-shirt

Get a FREE t-shirt when you ask your first question.

We believe in human intelligence. Our moderation policy strictly prohibits the use of LLM content in our Q&A threads.


Avatar of Saif ShaikhSaif Shaikh🇮🇳

As per the above error: "The service cannot be started, either because it is disabled or because it has no enabled devices associated with it"

The Microsoft Exchange Service Host (MSExchangeServiceHost)' service is disabled, hence ur upgrade is failing.

Please make sure that the

Microsoft Exchange Search
Microsoft Exchange Service Host

The above services are started and up and running, then perform upgrade.

Avatar of Saif ShaikhSaif Shaikh🇮🇳

I think your exchange 2016 setup has not went well.

Check:
1. Check the exchange setup log for any errors.
2. Check the registry location: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Exchange

Underneath exchange key check the mailbox role and client access role for versions i.e.
Configured
Packed version

Both the above versions should be the same.

3. There should not be any watermark keys.
4. Verify all exchange services are started and running.
5. Open powershell if you r unable to open EMS:
Run command: add-psssnapin *e2010*

6. Run command: Get-ExchangeServer | fl name, domain, edition, fqdn, serverrole, site, admindisplayversion

This will show u what version exchange is on.

There is a comment above where your auto-discover version shows 15.0 i.e. exchange 2013 and you said you hv definitely installed exchange 2016 so a cross check is required.

Avatar of SteveSteve🇬🇧

Could you provide a bit more background please as I suspect there's more to this than we're aware of.

Have you recently upgraded or is this a clean/new install of Exch 2016?
What version(s) did you upgrade from and was it on the same server or a different one?
have you checked the upgrade/install logs to see if anything went wrong?

Also, what Domain controllers/domain/forest level are you running please?

Reward 1Reward 2Reward 3Reward 4Reward 5Reward 6

EARN REWARDS FOR ASKING, ANSWERING, AND MORE.

Earn free swag for participating on the platform.


Avatar of David BarmanDavid Barman🇺🇸

ASKER

It was a new install.  I had just starting creating mailboxes and for whatever reason I ran into this issue.  There are no other exchange servers in the organization.  At this point there isn't any data in the database that I need.  I have tried to run the uninstaller, but it aborts with:
[10/22/2019 23:53:31.0932] [1] Executing:
          if (get-service MSExchangeServiceHost* | where {$_.name -eq "MSExchangeServiceHost"})
          {
              if ($RoleDatacenterIsTestEnv)
              {
                  Stop-Process -Name "Microsoft.Exchange.ServiceHost" -Force
                  Sleep -Seconds 15
              }
              else
              {
                  Stop-service MSExchangeServiceHost
              }

              Start-service MSExchangeServiceHost
          }
       
[10/22/2019 23:53:32.0257] [1] The following 1 error(s) occurred during task execution:
[10/22/2019 23:53:32.0257] [1] 0.  ErrorRecord: Service 'Microsoft Exchange Service Host (MSExchangeServiceHost)' cannot be started due to the following error: Cannot start service MSExchangeServiceHost on computer '.'.
[10/22/2019 23:53:32.0286] [1] 0.  ErrorRecord: Microsoft.PowerShell.Commands.ServiceCommandException: Service 'Microsoft Exchange Service Host (MSExchangeServiceHost)' cannot be started due to the following error: Cannot start service MSExchangeServiceHost on computer '.'. ---> System.InvalidOperationException: Cannot start service MSExchangeServiceHost on computer '.'. ---> System.ComponentModel.Win32Exception: The service cannot be started, either because it is disabled or because it has no enabled devices associated with it
   --- End of inner exception stack trace ---
   at System.ServiceProcess.ServiceController.Start(String[] args)
   at Microsoft.PowerShell.Commands.ServiceOperationBaseCommand.DoStartService(ServiceController serviceController)
   --- End of inner exception stack trace ---
[10/22/2019 23:53:32.0298] [1] The following error was generated when "$error.Clear();
          if (get-service MSExchangeServiceHost* | where {$_.name -eq "MSExchangeServiceHost"})
          {
              if ($RoleDatacenterIsTestEnv)
              {
                  Stop-Process -Name "Microsoft.Exchange.ServiceHost" -Force
                  Sleep -Seconds 15
              }
              else
              {
                  Stop-service MSExchangeServiceHost
              }

              Start-service MSExchangeServiceHost
          }
        " was run: "Microsoft.PowerShell.Commands.ServiceCommandException: Service 'Microsoft Exchange Service Host (MSExchangeServiceHost)' cannot be started due to the following error: Cannot start service MSExchangeServiceHost on computer '.'. ---> System.InvalidOperationException: Cannot start service MSExchangeServiceHost on computer '.'. ---> System.ComponentModel.Win32Exception: The service cannot be started, either because it is disabled or because it has no enabled devices associated with it
   --- End of inner exception stack trace ---
   at System.ServiceProcess.ServiceController.Start(String[] args)
   at Microsoft.PowerShell.Commands.ServiceOperationBaseCommand.DoStartService(ServiceController serviceController)
   --- End of inner exception stack trace ---".
[10/22/2019 23:53:32.0298] [1] Service 'Microsoft Exchange Service Host (MSExchangeServiceHost)' cannot be started due to the following error: Cannot start service MSExchangeServiceHost on computer '.'.
[10/22/2019 23:53:32.0298] [1] Cannot start service MSExchangeServiceHost on computer '.'.
[10/22/2019 23:53:32.0298] [1] The service cannot be started, either because it is disabled or because it has no enabled devices associated with it
[10/22/2019 23:53:32.0299] [1] [ERROR-REFERENCE] Id=ClientAccessComponent___28fdfe8bec984e809cdeef6d4d59bf4e Component=EXCHANGE14:\Current\Release\Shared\Datacenter\Setup
[10/22/2019 23:53:32.0299] [1] Setup is stopping now because of one or more critical errors.
[10/22/2019 23:53:32.0299] [1] Finished executing component tasks.
[10/22/2019 23:53:32.0350] [1] Ending processing Install-ClientAccessRole
[10/22/2019 23:53:32.0367] [0] CurrentResult console.ProcessRunInternal:198: 1
[10/22/2019 23:53:32.0382] [0] CurrentResult launcherbase.maincore:90: 1
[10/22/2019 23:53:32.0382] [0] CurrentResult console.startmain:52: 1
[10/22/2019 23:53:32.0382] [0] CurrentResult SetupLauncherHelper.loadassembly:452: 1
[10/22/2019 23:53:32.0383] [0] The Exchange Server setup operation didn't complete.  More details can be found in ExchangeSetup.log located in the <SystemDrive>:\ExchangeSetupLogs folder.
[10/22/2019 23:53:32.0386] [0] CurrentResult main.run:235: 1
[10/22/2019 23:53:32.0386] [0] CurrentResult setupbase.maincore:396: 1
[10/22/2019 23:53:32.0387] [0] End of Setup

What can I do to just completely removed Exchange from the server and  AD so I can start re-install Exchange from scratch?

Hi David,

Looks like it a known issue while updating the CU. Please execute the below command on Windows Powershell while the setup in progress:

While (1 -le 2) { Sleep 1 ; Get-Service | Where { $_.DisplayName -Like ‘Microsoft Exchange*’ } | Set-Service –StartupType ‘Automatic’ }

Refer:
https://blogs.technet.microsoft.com/karthikm/2016/09/28/unable-to-upgrade-cu-the-installation-source-for-this-product-is-not-available-verify-that-the-source-exists-and-that-you-can-access-it-error-code-is-1612/

https://oddytee.wordpress.com/2017/11/09/cannot-start-service-msexchangeservicehost-on-computer-during-exchange-cu-update/

Avatar of SteveSteve🇬🇧

I agree it may be a known issue. did you allow the installer to download updates during the install?

try the links Shreedhar has provided and let us know if it doesn't work.

Free T-shirt

Get a FREE t-shirt when you ask your first question.

We believe in human intelligence. Our moderation policy strictly prohibits the use of LLM content in our Q&A threads.


Avatar of David BarmanDavid Barman🇺🇸

ASKER

Prior to your response I was able to remove Exchange by following: https://www.pelegit.co.il/uninstall-exchange-2013-manually-force/

However, when I went to re-install Exchange using the CU14 download, I received the following:

[10/23/2019 03:11:33.0266] [2] An IIS directory entry couldn't be created. The error message is The system cannot find the path specified.
. HResult = -2147024893
[10/23/2019 03:11:33.0266] [2] The system cannot find the path specified.

[10/23/2019 03:11:33.0274] [2] Ending processing Install-ExchangeCertificate
[10/23/2019 03:11:33.0279] [2] Active Directory session settings for 'Install-AuthCertificate' are: View Entire Forest: 'True', Configuration Domain Controller: 'bateyserver.BATEY.local', Preferred Global Catalog: 'bateyserver.BATEY.local', Preferred Domain Controllers: '{ bateyserver.BATEY.local }'
[10/23/2019 03:11:33.0279] [2] User specified parameters:  -DomainController:'bateyserver.BATEY.local'
[10/23/2019 03:11:33.0279] [2] Beginning processing Install-AuthCertificate
[10/23/2019 03:11:33.0628] [2] Ending processing Install-AuthCertificate
[10/23/2019 03:11:33.0629] [1] The following 1 error(s) occurred during task execution:
[10/23/2019 03:11:33.0629] [1] 0.  ErrorRecord: An IIS directory entry couldn't be created. The error message is The system cannot find the path specified.
. HResult = -2147024893
[10/23/2019 03:11:33.0629] [1] 0.  ErrorRecord: Microsoft.Exchange.Management.Metabase.IISGeneralCOMException: An IIS directory entry couldn't be created. The error message is The system cannot find the path specified.
. HResult = -2147024893 ---> System.Runtime.InteropServices.COMException: The system cannot find the path specified.

   at System.DirectoryServices.DirectoryEntry.Bind(Boolean throwIfFail)
   at System.DirectoryServices.DirectoryEntry.Bind()
   at System.DirectoryServices.DirectoryEntry.RefreshCache()
   at System.DirectoryServices.DirectoryEntry.FillCache(String propertyName)
   at System.DirectoryServices.PropertyCollection.KeysCollection.GetEnumerator()
   at Microsoft.Exchange.Management.Metabase.IisUtility.GetProperties(DirectoryEntry webObj)
   --- End of inner exception stack trace ---
   at Microsoft.Exchange.Management.Metabase.IisUtility.GetProperties(DirectoryEntry webObj)
   at Microsoft.Exchange.Management.Metabase.IisUtility.GetWebSiteSslCertificate(String webObjectPath)
   at Microsoft.Exchange.Management.SystemConfigurationTasks.InstallExchangeCertificate.FindIisCertificate()
   at Microsoft.Exchange.Management.SystemConfigurationTasks.InstallExchangeCertificate.InternalProcessRecord()
   at Microsoft.Exchange.Configuration.Tasks.Task.<ProcessRecord>b__91_1()
   at Microsoft.Exchange.Configuration.Tasks.Task.InvokeRetryableFunc(String funcName, Action func, Boolean terminatePipelineIfFailed)
[10/23/2019 03:11:33.0631] [1] The following error was generated when "$error.Clear();
          Install-ExchangeCertificate -services IIS -DomainController $RoleDomainController
          if ($RoleIsDatacenter -ne $true -And $RoleIsPartnerHosted -ne $true)
          {
            Install-AuthCertificate -DomainController $RoleDomainController
          }
        " was run: "Microsoft.Exchange.Management.Metabase.IISGeneralCOMException: An IIS directory entry couldn't be created. The error message is The system cannot find the path specified.
. HResult = -2147024893 ---> System.Runtime.InteropServices.COMException: The system cannot find the path specified.

   at System.DirectoryServices.DirectoryEntry.Bind(Boolean throwIfFail)
   at System.DirectoryServices.DirectoryEntry.Bind()
   at System.DirectoryServices.DirectoryEntry.RefreshCache()
   at System.DirectoryServices.DirectoryEntry.FillCache(String propertyName)
   at System.DirectoryServices.PropertyCollection.KeysCollection.GetEnumerator()
   at Microsoft.Exchange.Management.Metabase.IisUtility.GetProperties(DirectoryEntry webObj)
   --- End of inner exception stack trace ---
   at Microsoft.Exchange.Management.Metabase.IisUtility.GetProperties(DirectoryEntry webObj)
   at Microsoft.Exchange.Management.Metabase.IisUtility.GetWebSiteSslCertificate(String webObjectPath)
   at Microsoft.Exchange.Management.SystemConfigurationTasks.InstallExchangeCertificate.FindIisCertificate()
   at Microsoft.Exchange.Management.SystemConfigurationTasks.InstallExchangeCertificate.InternalProcessRecord()
   at Microsoft.Exchange.Configuration.Tasks.Task.<ProcessRecord>b__91_1()
   at Microsoft.Exchange.Configuration.Tasks.Task.InvokeRetryableFunc(String funcName, Action func, Boolean terminatePipelineIfFailed)".
[10/23/2019 03:11:33.0631] [1] An IIS directory entry couldn't be created. The error message is The system cannot find the path specified.
. HResult = -2147024893
[10/23/2019 03:11:33.0631] [1] The system cannot find the path specified.

[10/23/2019 03:11:33.0631] [1] [ERROR-REFERENCE] Id=BridgeheadExchangeCertificate___36d297b411f94919bc8c6ba9c9c39131 Component=EXCHANGE14:\Current\Release\Shared\Datacenter\Setup
[10/23/2019 03:11:33.0631] [1] Setup is stopping now because of one or more critical errors.
[10/23/2019 03:11:33.0631] [1] Finished executing component tasks.
[10/23/2019 03:11:33.0647] [1] Ending processing Install-BridgeheadRole


Should I remove and reinstall IIS and try again?

Avatar of Saif ShaikhSaif Shaikh🇮🇳

When you say you were able to remove Exchange, so after exchange uninstall did you also uninstall IIS..

Yes the article decribes about manual removal of exchange from ADsiedit.

An IIS directory entry couldn't be created. The error message is The system cannot find the path specified.

Setup is trying to create IIS VD's in IIS and hence it gives error because there might be old information out there.

Try to also uninstall IIS using the windows server manager and remove features and roles.

If not then if this a VM roll up a new VM and try to install exchange on a new VM. Format the old VM box.

But make sure you have taken exchange database backup so that you can restore the database on the new exchange server and run command:

get-mailbox -database (old server mailbox database name) | set-mailbox -database "New server mailbox database"

Avatar of David BarmanDavid Barman🇺🇸

ASKER

I removed IIS and re-installed it.  After continuing the Exchange setup, it failed with the same error.  Is there some other folder that I need to manually remove?  Or is there something else in AD that I needs to be removed to wipe out the old IIS info?

Reward 1Reward 2Reward 3Reward 4Reward 5Reward 6

EARN REWARDS FOR ASKING, ANSWERING, AND MORE.

Earn free swag for participating on the platform.


Avatar of SteveSteve🇬🇧

Something is clearly very wrong here. If you've managed to get it all uninstalled you might as well rebuild the OS too. you really need to make this clean and get a fresh start or the many tests/fixes you are trying may have unexpected effects if you manage to get it all working.

Ensure all traces of this exch are removed from your AD.
Rebuild os.
Make sure all pre-reqs are in place
Try again.

Avatar of David BarmanDavid Barman🇺🇸

ASKER

might as well rebuild the OS?  I agree that is the "cleanest" way, but it is the most labor intensive as well.  Plus I need a lot of down time.  So I was hoping for a better solution.

Avatar of David BarmanDavid Barman🇺🇸

ASKER

After removing IIS, I renamed the c:\inetpub folder and the c:\windows\system32\inetsrv folders.  Now when I try to re-add the IIS role it gets a  0x800F0922 error.

Any thoughts and how to get past this?

Free T-shirt

Get a FREE t-shirt when you ask your first question.

We believe in human intelligence. Our moderation policy strictly prohibits the use of LLM content in our Q&A threads.


Avatar of Saif ShaikhSaif Shaikh🇮🇳

Roll up a new VM do from scratch. As updated earlier copy the exchange database EDB file from old server.


Follow article-
https://practical365.com/exchange-server/installing-exchange-server-2016/
http://microsoftgeek.com/?p=2422

Avatar of David BarmanDavid Barman🇺🇸

ASKER

My customer has a physical server, not a VM.  Thus the desire to get IIS reinstalled.

Please advise.

Avatar of Saif ShaikhSaif Shaikh🇮🇳

Ok.

Follow the instructions here and remove IIS first and reboot the server:

https://hostadvice.com/how-to/how-to-uninstall-iis-8-5-using-the-server-manager-and-powershell-from-windows-server-2012-r2-1/

Make sure you have removed Exchange using following article-

https://www.pelegit.co.il/uninstall-exchange-2013-manually-force/

Reboot the server.

Install Exchange 2016, but first install IIS:

Prerequisites for Mailbox Server Role:

Open a Windows PowerShell session by navigating to Start > All Programs > Accessories > Windows
PowerShell.

1. Run the following command: Install-WindowsFeature RSAT-ADDS

2. Run the following command to install the required Windows components.

Install-WindowsFeature AS-HTTP-Activation, Desktop-Experience, NET-Framework-45-Features, RPC-over-HTTP-proxy, RSAT-Clustering, RSAT-Clustering-CmdInterface, RSAT-Clustering-Mgmt, RSAT-Clustering-PowerShell, Web-Mgmt-Console, WAS-Process-Model, Web-Asp-Net45, Web-Basic-Auth, Web-Client-Auth, Web-Digest-Auth, Web-Dir-Browsing, Web-Dyn-Compression, Web-Http-Errors, Web-Http-Logging, Web-Http-Redirect, Web-Http-Tracing, Web-ISAPI-Ext, Web-ISAPI-Filter, Web-Lgcy-Mgmt-Console, Web-Metabase, Web-Mgmt-Console, Web-Mgmt-Service, Web-Net-Ext45, Web-Request-Monitor, Web-Server, Web-Stat-Compression, Web-Static-Content, Web-Windows-Auth, Web-WMI, Windows-Identity-Foundation

Remaining steps are in below article-

Follow article-
https://practical365.com/exchange-server/installing-exchange-server-2016/
http://microsoftgeek.com/?p=2422

This is like a clean install no errors should come up for IIS or Exchange if you do it properly.

Reward 1Reward 2Reward 3Reward 4Reward 5Reward 6

EARN REWARDS FOR ASKING, ANSWERING, AND MORE.

Earn free swag for participating on the platform.


Avatar of David BarmanDavid Barman🇺🇸

ASKER

I am trying to install IIS from powershell.   The progress bar has stopped.  It has been in this state for multiple hours.  However, it has not errored out.  Is it doing something?  Is there a log somewhere to tell us what is going on?  See attached file for a screenshot.
IIS-install-via-PowerShell.PNG

ASKER CERTIFIED SOLUTION
Avatar of SteveSteve🇬🇧

Link to home
membership
Log in or create a free account to see answer.
Signing up is free and takes 30 seconds. No credit card required.
Create Account
Exchange

Exchange

--

Questions

--

Followers

Top Experts

Exchange is the server side of a collaborative application product that is part of the Microsoft Server infrastructure. Exchange's major features include email, calendaring, contacts and tasks, support for mobile and web-based access to information, and support for data storage.