Archiving Emails from Microsoft Exchange 2010

Revision as of 23:32, 3 February 2015 by Admin (talk | contribs) (Step 1: Setting up a central user for accessing mailboxes)


Jump to: navigation, search

This implementation guide covers the specifics of archiving Exchange 2010 server mailboxes. It is assumed that you already have a MailStore Server installation or test installation and are familiar with the fundamentals of MailStore Server. Please refer to the Manual or the Quick Start Guide for more information.

MailStore Server offers several ways to archive emails from Exchange 2010 server mailboxes, which are described below. If you are not sure which archiving method best suits your company, please refer to the chapter Choosing the Right Archiving Strategy.


Synchronizing Users

As Microsoft Exchange requires the existence of an Active Directory, it is recommended to set up a synchronization as described in chapter Active Directory Integration of the MailStore Server manual.

Archiving Individual Mailboxes

For each mailbox, please proceed as follows:

  • Unless the mailbox of the current user is to be archived into his or her own user archive, log on to MailStore Client as MailStore administrator. Only an administrator can archive emails for other users.
  • Click on Archive Email.
  • From the Email Servers list in the Create Profile area of the window, select Microsoft Exchange to create a new archiving profile.
  • A wizard opens to assist in specifying the archiving settings.
  • Select Single Mailbox.
    Xchg mailbox 01.png
  • Under Access via, select the protocol to be used to access the Exchange server. Whenever possible, HTTPS should be used.
    Please note: Depending on the protocol chosen there is the option to Ignore SSL Warnings. Generally, these warnings appear if an unofficial or self-signed certificate is used on the Exchange server.
  • Under Host, enter the name of your Exchange server.
  • Under User Name, enter the Windows login name of the user whose emails are to be archived (e.g. barbara.ross@example.local or barbara.ross@example.com).
    Please note: Alternatively, any user with the appropriate access permissions for the mailbox to be archived can be specified. In this case, it is imperative that this mailbox is specified under Mailbox (see below).
  • Under Password, enter the user's password.
  • The field Mailbox must be left blank if a user, whose Windows login name and password is being used, wants to archive his own mailbox. Otherwise, the primary email address of the user whose mailbox you want to archive has to be entered here.
  • Click on Test to verify that MailStore can access the mailbox.
  • Click on Next.
  • If needed, adjust the settings for the List of Folders to be Archived, the filter and the Deletion Rules. By default, no emails will be deleted from the mailbox. The Timeout value only has to be adjusted in specific cases (e.g. with very slow servers).
    Xchg mailbox 03.png

    Important notice: Did you specify IMAP as the protocol and have also defined a deletion rule? If so, folders containing no emails, such as Tasks, Calendar or Contacts have to be added to the list of excluded folders manually. This is the only way to avoid these folders being archived and deleted according to the deletion rule specified. Please read more in chapter Archiving Specific Folders.

  • Click on Next to continue.
  • If logged on to MailStore Server as MailStore administrator, the Target Archive can be specified. Select the archive of the user for whom the selected mailbox is to be archived. If the user does not exist yet, click on Create a New User.
    Xchg mailbox 02.png
  • Click on Next.
  • In the last step, a name for the archiving profile can be specified. After clicking Finish, the archiving profile will be listed under Saved Profiles and, if desired, can be run immediately or automatically.


Archiving Multiple Exchange Mailboxes Centrally

With MailStore, some or all mailboxes of an Exchange server can be archived in a single step. All necessary preparations, such as creating MailStore users, can be made automatically. The archiving process can be executed manually or automatically according to a schedule.

Step 1: Setting up a central user for accessing mailboxes

Before the archiving process can be set up in MailStore, a user with access to all mailboxes to be archived has to be created. The corresponding method is called impersonation in Microsoft Exchange.

The following preconditions have to be met to be able to configure Exchange Impersonation:

  • Administrative access to the Microsoft Exchange 2010 system on which the Client Access Role is installed
  • Domain Administrator privileges
  • An installation of Remote PowerShell on the machine which is used to execute the commands or access to the Exchange 2010 Server via Remote Desktop.

The following commands are executed in the Microsoft Exchange Management Shell:

Add access privileges

 New-ManagementRoleAssignment -Name:"MailStore Impersonation" `
   -Role:ApplicationImpersonation -User:serviceaccount@domain.tld

Important notice: serviceaccount@domain.tld is the user account in UPN (User Principal Name) notation which you will use to access the mailboxes from MailStore. Please make sure that this user is not a member of any Exchange or Windows administrative group.

Check access privileges

 Get-ManagementRoleAssignment -Role:ApplicationImpersonation -RoleAssigneeType:User `
   | Format-List *

 Get-ManagementRoleAssignment -Identity:"MailStore Impersonation" ` 
   | Format-List *


Remove access privileges

The following command is only to be used, if you want to remove access privileges from serviceaccount@domain.tld

Remove-ManagementRoleAssignment "MailStore Impersonation"

Step 2: Configuration of MailStore Server

Please proceed as follows:

  • Log on to MailStore Client as MailStore administrator.
  • Click on Archive Email.
  • From the Email Servers list in the Create Profile area of the window, select Microsoft Exchange to create a new archiving profile.
  • A wizard opens to assist in specifying the archiving settings.
  • Select Multiple Mailboxes and click OK.
    Please note: In order to be able to archive multiple mailboxes, the MailStore users along with their email addresses have to exist in the MailStore user management. If this is not the case, MailStore will offer to set up and run the directory synchronization at this point. Once completed, the wizard will resume.
    Alternatively, you can cancel the wizard and create users manually as described the in chapter User Management.
    Xchg mailboxes 01.png
  • Under Access via, select the protocol to be used to access the Exchange server. Whenever possible, HTTPS should be used.
    Please note: Depending on the protocol chosen there is the option to Ignore SSL Warnings. Generally, these warnings appear if an unofficial or self-signed certificate is used on the Exchange server.
  • Under Host, enter the name of your Exchange server.
  • Under User Name and Password, enter the access data of the service account that has access to all mailboxes to be archived.
  • Click on Next to continue.
    Xchg mailboxes 03.png
  • If needed, adjust the settings for the List of Folders to be Archived, the filter and the Deletion Rules. By default, no emails will be deleted from the mailbox. The Timeout value only has to be adjusted in specific cases (e.g. with very slow servers). Please keep in mind that these settings apply to all mailboxes to be archived, as specified in the next step.
  • Select the users whose mailboxes are to be archived.
    Xchg mailboxes 02.png
    The following options are available:
    • All users with configured email address
      Choose this option to archive the mailboxes of all users who are set up, along with their email addresses, in MailStore's user management.
    • All users except the following
      Choose this option to exclude individual users (and thereby their Exchange mailboxes) from the archiving process, using the list of users below.
    • Only the following users
      Choose this option to include individual users (and thereby their Exchange mailboxes) in the archiving process, using the list of users below. Only the mailboxes of those users explicitly specified will be archived.
    • Synchronize with Directory Services before archiving
      If selected, the MailStore user list will be synchronized with the configured directory service before any archiving process is executed. This has the advantage that, for example, new employees will be created as MailStore users before archiving, so once the archiving process is executed, their Exchange mailbox is archived automatically as well. This option is especially recommended when the archiving process is to be executed automatically.
  • Click on Next.
  • In the last step, a name for the archiving profile can be specified. After clicking Finish, the archiving profile will be listed under Saved Profiles and can be run immediately or automatically, if desired.


Archiving Incoming and Outgoing Emails Directly

With the support of the Exchange Server Journaling functionality, MailStore can archive the incoming and outgoing emails of all users automatically. This is the only way to ensure that all emails are archived in their entirety

Basic Functionality

Microsoft Exchange Server provides the option to take down all incoming, outgoing and internal email traffic. At the time of sending and receiving, a copy of the respective email is created and stored in a mailbox called Journal Mailbox. Additionally, the email is provided with a Journal report containing information about the actual senders and recipients.

MailStore can be configured to archive this Journal mailbox at regular intervals. During this process, the emails from the Journal mailbox will be assigned to their respective MailStore users (i.e. their user archives) automatically. This means that all users are able to view only their own emails.

Before the archiving process can be set up in MailStore, Journaling has to be set up for the Exchange Server. Please proceed as follows:

Step 1: Creating a Mailbox for Journaling

To set up a new Exchange user with a meaningful name, e.g. journal, please proceed as follows:

  • Start the Exchange Management Console and click on Recipient Configuration.
  • Click on New Mailbox.
  • Select User Mailbox and click on Next.
  • Select New User and click on Next.
  • Enter journal as user name (see screen shot below) and confirm by clicking on Next.
Xchg jour 2010 01.png
  • Click on Browse to select a mailbox database and click on Next.
  • Confirm the summary by clicking on New. The user journal is created.

Step 2: Configuring Exchange Journaling

Two types of journaling are available in Exchange 2010: standard and premium journaling. While standard journaling always includes all send and received emails of a mailbox database, premium journaling can be limited to particular recipients or distribution lists and the scope (internal, external, global) of the journal rule can be defined. Additionally premium journaling rules can be replicated throughout the whole Exchange organization.

Notice: Premium journaling requires Exchange Enterprise CALs.

Configure Standard Journaling

Open the Exchange Management Console. In the tree structure, open Organization Configuration and then Mailbox.

  • Click on the Database Management tab.
  • Right click on the mailbox database for which you want to set up standard journaling and select Properties and then select the Maintenance tab.
  • Tick Journal Recipient and click on Browse
  • Select the user from the recipient list that was created in step 1 and confirm with OK
  • The following screenshot shows an example of a standard journaling configuration:
    Xchg jour 2010 02a.png
  • To confirm the changes and active the journaling, click on OK.

Once the new configuration has come into effect, a copy of all incoming and outgoing emails is stored in the Journal mailbox (along with a report). MailStore can now be configured to archive the Journal mailbox in regular intervals as described below.

Configure Premium Journaling

Open the Exchange Management Console. In the tree structure, open Organization Configuration and then Hub Transport. Click on the Journal Rules tab and in the area on the right on New Journal Rule.

The dialog window New Journal Rule opens:

Xchg jour 2010 02b.png
  • Enter a name for the journal rule, e.g. Journaling.
  • Click on Browse and select the user "journal" created above.
  • Under Scope, choose Global to capture all messages, Internal to capture internally sent messages only, or External to capture only those message with an external sender or recipient.
  • Make sure that the checkbox Enable Rule is activated.
  • Click on New to activate the rule. Please keep in mind that in complex Microsoft Exchange environments it may take several minutes until the new rule becomes effective.

Once the new configuration has come into effect, a copy of all incoming and outgoing emails is stored in the Journal mailbox (along with a report called Envelope). MailStore can now be configured to archive the Journal mailbox in regular intervals as described below.

Step 3: Configuration of MailStore Server

Please proceed as follows:

  • Log on to MailStore Client as MailStore administrator.
  • Click on Archive Email.
  • From the Email Servers list in the Create Profile area of the window, select Microsoft Exchange to create a new archiving profile.
  • A wizard opens to assist in specifying the archiving settings.
  • Select In- and Outbound Email Automatically.
    Please note: In order to be able to archive from a journal mailbox, the MailStore users along with their email addresses have to exist in the MailStore user management. If this is not the case, MailStore will offer to set up and run the directory synchronization at this point. Once completed, the wizard will resume.
    Alternatively, you can cancel the wizard and create users manually as described the in chapter User Management.
    Xchg jour mailstore 01.png
  • Under Access via, select the protocol to be used to access the Exchange server. Whenever possible, HTTPS should be used.
    Please note: Depending on the protocol chosen, there is the option to Ignore SSL Warnings. Generally, these warnings appear if an unofficial or self-signed certificate is used on the server.
  • Under Host enter the name of the Exchange server.
  • Under User Name and Password enter the credentials for the Exchange journal mailbox.
  • If you want to access the journal mailbox through HTTP/HTTPS with credentials that are not those of the mailbox owner, you have to specify the primary email address of the journal mailbox in the field Mailbox (opt.).
  • Click on Test to verify that MailStore can access the mailbox.
  • Synchronize with Directory Services before archiving
    If this option is enabled, the MailStore user list will be synchronized with configured directory service before the archiving process actually runs. This has the advantage that, for example, new employees will be created as MailStore users before archiving which enables MailStore to sort their emails into the correct archives. This option is recommended if you want to have the journal archiving job run automatically.
  • Messages with unknown e-mail addresses
    In this section you can configure whether to archive messages that contain only email addresses which do not belong to any MailStore user. By default, such emails will be archived into a catchall folder but you can select another folder through the Ellipsis (…).
    Alternatively, you can opt not to archive these emails at all.
  • When e-mails are successfully archived
    Enabling the option Delete them in origin mailbox will delete emails automatically in the journal mailbox after they have been archived successfully by MailStore. The option has no effect whatsoever on the emails in the users' mailboxes.
  • Click on Next to continue.
  • A Timeout value can be specified. Change this value only in case of definite need (e.g. with very slow servers).
  • Click on Next to continue.
  • In the last, step a name for the archiving profile can be specified. After clicking Finish, the archiving profile will be listed under Saved Profiles and can be run immediately or automatically, if desired.


Public Folders

MailStore Server can archive the emails from the public folders of Microsoft Exchange servers and make them available to some or all MailStore users. The archiving process can be executed manually or automatically according to a schedule.

Preparation

During archiving, emails are always assigned to individual users. Even when archiving a public folder, the user (or the user archive), for whom the emails are to be archived, has to be specified.

For this reason, first create a MailStore user for whom the public folder is to be archived. This user can be called publicfolder, for example. Next, all other users can be given access to the archive of the user publicfolder. This way, the archived content of the public folder is available to all MailStore users.

If MailStore users are not to have access to the archived public folder, skip this step and simply archive the emails to the user archive of the administrator (admin).

Information about how to create a new user in MailStore is available in the chapter User Management.

To be able to access all objects stored in all public folders without any problems, it is recommended to execute the following commands on the Exchange 2010 server hosting the respective public folders.

  • First, add the role Public Folder Management to a serviceAccount@domain.tld
 Add-Rolegroupmember -Identity "Public Folder Management" -Member serviceAccount
  • Next, use the PowerShell Script AddUsersToPfRecursive.ps1 to add "Editor" permissions for all public folders. Execute it within the Exchange Management Shell.
 .\AddUsersToPfRecursive.ps1 -TopPublicFolder "\" -User serviceAccount@domain.tld -Permission Editor

serviceAccount@domain.tld is now able to read, write and delete all objects stored in public folders. Don't forger to substitute serviceaccount@domain.tld with the Windows Useraccount in UPN (User Principle name) notation you want to use for archiving.

Please proceed as follows:

  • Log on to MailStore Client as administrator.
  • Click on Archive Email.
  • From the Email Servers list in the Create Profile area of the window, select Microsoft Exchange to create a new archiving profile.
  • A wizard opens to assist in specifying the archiving settings.
  • Select Public Folders.
    Xchg public 01.png
  • Under Access via, either HTTPS or HTTP has to be selected as protocol to archive public folders.
    Please note: If you choose HTTPS, you can enable the option to Ignore SSL Warnings. Generally, these warnings appear if an unofficial or self-signed certificate is used on the Exchange server.
  • Under Host, enter the name of your Exchange server.
  • Under User Name, enter the Windows login name of the user you have prepared in step 2 for public folder access.
  • Under Password, enter the user's password.
  • Leave the field Mailbox to its preset value /public.
  • Click on Test to verify that MailStore can access the public folders.
  • Click on Next to continue.
    Xchg public 03.png
  • Adjust the settings for the List of Folders to be Archived. By default, all public folders that contain emails will be archived.
  • If needed, adjust the filter and the Deletion Rules. By default, no emails will be deleted from the public folders. The Timeout value only has to be adjusted in specific cases (e.g. with very slow servers).
  • Click on Next to continue.
    Xchg public 02.png
  • In the next step, select the archive of the user you have prepared in step 1.
  • In the last step, specify a name for the archiving profile. After clicking Finish the archiving profile will be listed under Saved Profiles and can be run immediately or automatically if desired.


Shared mailboxes grant multiple users shared access to a mailbox, somewhat comparable to public folders.

Step 1: Creating a MailStore User for a Shared Mailbox

A shared mailbox is a special kind of mailbox that, unlike a normal mailbox, is associated with a disabled Active Directory account. Like for normal mailboxes, MailStore is able to create user entries for shared mailboxes via Active Directory Synchronization. For this, you have to deactivate the option Synchronize enabled users only in the section User Database Synchronization.
After synchronization you can grant MailStore users access to the archive of the shared mailbox by assigning privileges.

Step 2: Setting up the Archiving Process

In order to archive emails from a shared mailbox you must grant a user account full access to that mailbox (either by delegated access or impersonation) because the Active Directory user account associated with that mailbox is disabled. You can use the service account you created to archive multiple mailboxes for this purpose.

Once you have created the service account, setup a new Single Mailbox archiving profile. Enter the credentials of the service account and fill the optional Mailbox field with the primary e-mail address of your shared mailbox.

Xchg sharedmbx 01.png

Further steps are analog to the archiving of individual Exchange mailboxes.


Throttling in Exchange 2010 SP1

Exchange 2010 supports throttling since the RTM version. With throttling you can control, on the server side, the speed as well as the amount of emails individual users can download from the server. Since SP1 for Exchange 2010 this is a standard feature. When installing SP1 an experimental throttling policy may be activated which is unsuitable for productive operations.

Please note: Always enter the UPN (User Principal Name) of the Window user used for archiving as serviceaccount.

Determining the Throttling Policy Applied to the MailStore serviceaccount

You can use the following Powershell script to check if the serviceaccount that MailStore uses for archiving is slowed down by a throttling policy:

 $policy = $null
 $policyLink = (Get-Mailbox serviceaccount).ThrottlingPolicy 
 if ($policyLink -eq $null)
 { 
   $policy = Get-ThrottlingPolicy | where-object {$_.IsDefault -eq $true}
 }
 else
 {
   $policy = $policyLink | Get-ThrottlingPolicy
 }
 
 $result = $policy | format-list -property Name, IsDefault, EWS*
 $result

To use the script, please copy the entire content into a .TXT file, change serviceaccount to the UPN (User Principal Name) of the Windows user who is used for archiving, and save the script as policycheck.ps1 (on the desktop of the Exchange server, for example).

The script can now be executed from the Exchange Management Shell. Since, in the context of MailStore Server, only the EWS* values are of any interest, the following result may be displayed:

 [PS] C:\users\Administrator\Desktop>.\policycheck.ps1 
 
 Name                          : DefaultThrottlingPolicy_8c5771...
 IsDefault                     : True
 EWSMaxConcurrency             : 100
 EWSPercentTimeInAD            : 50
 EWSPercentTimeInCAS           : 90
 EWSPercentTimeInMailboxRPC    : 60
 EWSMaxSubscriptions           : 5000
 EWSFastSearchTimeoutInSeconds : 60
 EWSFindCountLimit             : 1000

In this case, no separate policy exists for the serviceaccount. Since the property IsDefault is true, the default throttling policy of the system applies to the serviceaccount. If the value was false, an individual policy would already have been applied to the serviceaccount whose name would be listed under Name.

Creating and Assigning an Individual Throttling Policy

To avoid interfering with the overall stability of the Exchange 2010 system by using a too liberal policy definition of the default throttling policy, it is advisable to create a separate policy for the serviceaccount. Only three lines are necessary to create a throttling policy for the serviceaccount which is customized for MailStore:

 New-ThrottlingPolicy MailStore 
 
 Get-ThrottlingPolicy MailStore | Set-ThrottlingPolicy -EWSFindCountLimit 2500 '
 -EWSPercentTimeInAD 70 -EWSPercentTimeInCAS 120 -EWSPercentTimeInMailboxRPC 80
 
 Set-Mailbox "servcieaccount" -ThrottlingPolicy MailStore

In line 1, a new throttling policy is created, line 2 defines the desired values for the policy, and in line 3, the individual throttling policy is assigned to the serviceaccount.

Important: Please note that a mailbox must be set up for the serviceaccount in order to be able to assign a policy to it.

Removing and Deleting an Individual Throttling Policy

To delete an individual throttling policy from a mailbox or user account, execute the following command in the Exchange Management Shell:

 Set-Mailbox "Serviceaccount" -ThrottlingPolicy $null

This ends the assignment of a throttling policy. To delete the throttling policy from the Exchange system, execute the following command in the Exchange Management Shell:

 Remove-ThrottlingPolicy MailStore 

Confirm this by entering "Y". The policy is now completely deleted from the system.

Weblinks

Navigation
Tools
Print/export
About MailStore

  • MailStore Server is one of the leading email archiving solutions for SMB.
  • For private use there is a free tool for email archiving furthermore: MailStore Home.