Configuring and Managing the Mailbox Server Role

Exclusive offer: get 50% off this eBook here
Microsoft Exchange 2013 Cookbook

Microsoft Exchange 2013 Cookbook — Save 50%

Over 70 simple but incredibly effective recipes to take you through with the common tasks in Exchange 2013 with this book and ebook

$29.99    $15.00
by Michael Van Horenbeeck Peter De Tender | September 2013 | Cookbooks Enterprise Articles Microsoft

In this article by Michael Van Horenbeeck and Peter De Tender, authors of the book Microsoft Exchange 2013 Cookbook, you will learn how to perform the tasks necessary to set up, configure, and maintain the Mailbox Server Role, including:

  • Creating and removing mailbox databases
  • Mounting and dismounting databases
  • Moving database files to another location
  • Configuring circular logging
  • Creating and removing mailboxes
  • Managing resource mailboxes
  • Configuring mailbox size limits
  • Managing personal archives
  • Assigning mailbox permissions
  • Moving mailboxes to another database
  • Managing Public Folders
  • Configuring send and receive connectors
  • Configuring Accepted domains
  • Configuring message size limits

Over the years, the Mailbox Server Role has evolved into something more than just a place where mail data is stored. Although its primary role remains storing and managing mail-related data, it inherited large chunks of what used to be the Hub Transport server and Unified Messaging server. This shows that the Mailbox Server role in Exchange 2013 resembles an Exchange 2010 multi-role server in many ways.

(For more resources related to this topic, see here.)

Creating and removing mailbox databases

To complete the following steps, you will need to launch the Exchange Management Shell or the Exchange Admin Center. For this example, the Mailbox Server where the new databases are created is configured with an additional disk (E:) that will be used to store the database and its logfiles. Despite earlier examples using multiple disks, we're sticking to a single disk in order to keep things simple. However, if you have stored your logfiles and database files on separate volumes, the same principles apply.

How to do it...

Creating a new mailbox database

To create a new mailbox database called MDB01 on server EX01, execute the following command:

New-MailboxDatabase –Name "MDB01" –Server "EX01.exblog.be"
–LogFolderPath "E:\MDB01\Logs" –EdbFilePath "E:\MDB01\MDB01.edb"

Unlike the EAC, which offers you to choose whether or not to immediately mount the database, you will need to manually mount the new database after it is created. Have a look later in this article for more information on how to mount/dismount databases.

Exchange 2013 no longer dynamically adjusts the amount of memory that is assigned for each database's cache. How much memory is assigned per database depends on the amount of active and passive databases on the servers and is calculated when the Exchange Information Store service starts. That is also why you will see the following message whenever you add or remove a database or database copy to a server:

To restart the Exchange Information Store Service, run the following command from an elevated command prompt or PowerShell instance:

Restart-Service MSExchangeIS

Restarting the Exchange Information Store service will cause all databases on that server to be dismounted. If that server is not a member of a DAG or it is the sole server that contains a given database copy, that will result in downtime for the user while the service restarts.

Alternatively, the same action can be performed through the Exchange Admin Center:

  1. Navigate to Servers | databases .
  2. Click on the plus-sign ( + ) to launch the new database wizard. Enter a name for the database.
  3. Click on browse... and select the Mailbox Server where you want to create the database.
  4. Specify the EDB and logfile location.

  5. Click on Save .

Removing a mailbox database

Before you can remove a mailbox database, it must not contain active mailboxes anymore. However, it is possible it still contains disconnected or deleted mailboxes that haven't been purged from the database yet. So before you can remove a database, you need to make sure that all mailboxes have been moved to another database. If you don't, you will get an error as shown in the following screenshot:

Before you can remove a mailbox database that has multiple database copies in a Database Availability Group, you need to remove the passive copies first. Only when the active database is the only copy that remains and it's empty, you will be able to permanently remove the database.

The following commands will move all mailboxes from database MDB01 to database MDB02, including any system mailboxes that might be hosted in MDB01:

Get-Mailbox –Database "MDB01" | New-MoveRequest –TargetDatabase
"MDB02"
Get-Mailbox –Database "MDB01"
-Arbitration | New-MoveRequest
–TargetDatabase "MDB02"

Once you made sure that the database is empty, you can go ahead and remove the database using the following command:

Get-MailboxDatabase MDB01 | Remove-MailboxDatabase

Executing the command will remove the database from Exchange, but it will not remove the database files. You will have to manually delete the remaining files from the disk.

To remove a mailbox database through the EAC, execute the following steps:

  1. Navigate to Servers | databases .
  2. Select the database you want to remove and click on the garbage bin icon as shown in the following screenshot:

  3. Click on Yes to confirm.

How it works...

Creating a mailbox database is in fact a pretty straightforward process. It suffices to provide a name, database - and log file path locations and let Exchange take care of the rest for you. When creating a new database, Exchange will first create an object in Active Directory and then create the EDB file along with the log stream and search catalog files in the locations that you specified earlier.

During the installation of Exchange 2013, several so-called arbitration mailboxes are created automatically. These mailboxes are used for system-related actions, such as distribution group moderation, federated delegation and system notification.

The following arbitration mailboxes are created by default and stored in the first (default) mailbox database:

  • SystemMailbox {GUID}
  • Migration.8f3e7716-2011-43e4-96b1-aba62d229136
  • FederatedEmail.4c1f4d8b-8179-4148-93bf-00a95fa1e042

Make absolutely sure that you include these arbitration mailboxes when you are emptying a database before removal. If these mailboxes become unavailable or corrupt, one or more of Exchange's features might stop working. Luckily, Exchange helps you remembering and it won't let you remove a database unless it's considered empty and it's safe to remove it.

There's more...

When trying to physically remove the files immediately after having removed the mailbox database from Exchange, chances are that you will run into the error shown in the following screenshot:

Noderunner.exe is a child process of the Microsoft Exchange Search Host Controller service. In order to release the files from the noderunner.exe process, you can do any of the following:

  1. Restart the Mailbox Server. Unless your server is part of a Database Availability Group and other servers have copies of the databases on this server, you will have to plan for a little downtime while the server is rebooting.
  2. Restart HostControllerService on the Mailbox Server by executing following command from an elevated PowerShell console:

    Restart-Service HostControllerService

Mounting and dismounting mailbox databases

Although as an Exchange administrator, there shouldn't be many occasions on which you have to manually mount or dismount a database, sometimes you might be required to intervene because of an issue. The most common case is probably when a disk on which a database or logfiles are stored runs out of disk space. To protect the database, Exchange will automatically dismount the database. To recover from this situation, the administrator must free-up some space and manually re-mount the database. Therefore it's not only important to know how to perform these actions, but also to understand what's happening when they are executed.

Getting ready

In order to execute the following steps, you will need to log in to the Exchange Management Shell.

How to do it...

We will learn mounting and dismounting of database in this section.

Mounting a database

The following command will issue a mount-request for database MDB01:

Mount-Database "MDB01"

Dismounting a database:

Executing the following command will dismount the database MDB01:

Dismount-Database "MDB01"

How it works...

Before Exchange 2013, every database ran within the same process (store.exe) on the Mailbox Server. The introduction of the new Managed Store in Exchange 2013 changed things quite drastically, but for the better: every database is now running within its own process. This approach has some great advantages, such as whenever a database causes its worker process to hang, only a single database is affected whereas before all databases on the server would have suffered from the hanging process.

When taking a closer look at the new Managed Store, we can distinguish three important services:

  • Store Service process
  • Store Worker process
  • Exchange Replication Service

The Exchange Replication Service could be seen as a sort of traffic control manager that provides a management interface for Exchange databases as it is responsible for issuing mount and dismount requests to the Store Service. Next to that, the Replication Service also keeps an eye on the state of a mailbox database and will, for instance, initiate a database failover when an issue with a database is reported.

For each mount request that is issued, the Exchange Store Service will create a new store worker process for the database being mounted.

Amongst other tasks, the store worker process itself is responsible for providing effective access to the database. When a database is mounted successfully, Event 3156 will be posted to the Application event log.

Subsequently, the store service will terminate the worker process for a database when a dismount request has been issued. During the dismount process, Exchange will set a flag in the database headers telling that it was cleanly dismounted (also referred to as a "clean shutdown"). If this flag isn't present, the database cannot be re-mounted without being repaired first. When a database is dismounted successfully, an Event 3161 will be posted to the Application event log.

There's more...

To know if and on what server a database is mounted, execute the following steps. Notice the use of the –Status parameter in the following command:

Get-MailboxDatabase –Status | Ft Name,*mount*

It is also possible to get a quick overview of the databases' status through the EAC. You can do so by navigating to Servers | databases.

Moving database files to another location

If you adequately sized your environment, including taking into account additional disk space for future growth, chances are that you'll never have to physically move a database to another location. However, sometimes lack of disk space, change of underlying storage subsystem or simply a change in the design of your environment might require you to move database file to another physical location.

Getting ready

To execute the following steps, launch the Exchange Management Shell. For more information on how to dismount a database have a look at Mounting/dismounting mailbox databases earlier in this article.

How to do it...

The following command will move the database files of a database called MDB01 to another location:

Move-DatabasePath –Identity "MDB01" –EdbFilePath "E:\NewPath\MDB01\
MDB01.edb"
–LogFolderPath "E:\NewPath\MDB01\Logs"

If you run the command while the database is mounted, the Exchange Management Shell will automatically throw a warning and ask for confirmation to dismount the database:

Dismounting a database will cause a temporary outage until the move has completed.

After the move has completed, Exchange will automatically re-mount the database.

There's more...

In some cases, you might prefer Exchange not to automatically move the physical files to their new location. This could be the case when you are using Mount Points in Windows Server. Mount Points can easily be reassigned to another location, without having to actually copy the data, therefore saving quite some time; especially when you are working with large databases.

Luckily, you can run the same command as before, only this time adding the –ConfigurationOnly parameter. The command will only update the database object's properties in Active Directory without physically moving the files' location:

Move-DatabasePath –Identity "MDB01" –EdbFilePath "E:\NewPath\MDB01\
MDB01.edb"
–LogFolderPath "E:\NewPath\MDB01\Logs" –ConfigurationOnly

If you use the –ConfigurationOnly parameter, make sure that you manually move/relocate the database files before attempting to mount it again. If you are working with Mount Points, now is the time you would change the mount point location.

Configuring circular logging

Circular logging is the process of truncating logfiles as soon as they have been committed into the database. Normally, logfiles are only truncated after a full back. This allows you to restore a database from an earlier time and replay the transactions up to the latest available one.

Normally there's no need to enable circular logging but it can come in handy to quickly free up some disk space; although we would prefer extending disk space for a full log drive over enabling circular logging. Another point of attention is that using circular logging comes at a cost, if you need to restore a database from an earlier point in time you won't be able to recover to the time when the database failed, inevitably leading to data loss.

That is also one of the reasons why Microsoft recommends only enabling circular logging when you have at least three additional database copies.

Getting ready

In order to execute the following steps, launch the Exchange Management Shell.

How to do it...

To enable circular logging for database MDB01, run the following command:

Set-MailboxDatabase "MDB01" –CircularLoggingEnabled $true

Similarly, the following command will turn off circular logging:

Set-MailboxDatabase "MDB01" –CircularLoggingEnabled $false

If you enable or disable circular logging for a single database copy, you will have to remount (dismount/mount) the mailbox database for the change to become effective. Databases that are part of a Database Availability Group and have multiple copies don't have to be remounted.

How it works...

Every action that a user performs, generates one (or more) database transactions. These transactions aren't immediately written to the database. Instead, as a safety-measure, these transactions get written into a logfile first. Only when transactions are safely written to a logfile, they are recorded in the database. Each logfile is 1MB in size. When a logfile fills up, a new one is automatically generated.

Transaction logs play an important role at maintaining the consistency of a database. For example, when the store worker process of one of the databases crashes, that database is not dismounted properly and thus it won't have the clean shutdown flag set. As a result, you won't be able to mount the database until it is brought back into a clean shutdown state.

Without going into too much detail, the process involved to bring a database back into a consistent state involves replaying logfiles and recording the (partial) transactions from those logfiles into the database. The transactions in the logfiles could be pretty much anything from a new e-mail that was received to a message's read status that has changed. If a logfile that needs to be replayed against the database isn't available, it essentially means that one or more (partial) transactions cannot be recorded and therefore results in data loss.

In large environments, each database can generate hundreds even thousands of logfiles each day and could end up using quite some disk space. Although it's not a recommendation, you can enable circular logging which will flush transaction logs as soon as the transactions have been recorded in the database. If you are running a DAG and your database has multiple copies, transaction logs will be flushed as soon as all database copies have recorded the transactions in the database. In case you have a lagged database copy, the logfile will be flushed from the active and passive database copies as soon as each has recorded the transactions into the database and the logfile has been inspected by the lagged copy.

Circular logging allows you to save on disk space that would otherwise be used to store the transaction logs. However, when a disaster strikes and you need to restore a database from backup, you will not be able to recover the latest transactions therefore losing data up to the latest backup. So, if you enable circular logging, make sure that you have multiple database copies running in a Database Availability Group; preferably at least three. The idea behind this is that the risk of losing three copies at once is relatively small. Just keep in mind that it's not impossible.

Creating and removing mailboxes

Creating mailboxes might be one of the simplest tasks within an Exchange environment. Even though the EAC wizard is relatively self-explanatory, there are some caveats to look out for. Especially the distinction between removing and disabling mailboxes might be confusing at first.

Getting ready

To execute the following steps, log in to the Exchange Admin Center or launch the Exchange Management Shell.

How to do it...

In this section we will learn how to create and remove mailboxes.

Creating a new user with mailbox

The following command will create a new user named Mark Sheffield and create a mailbox for that user:

New-Mailbox –UserPrincipalName Mark.Sheffield@exblog.be –Alias MSheffield
–Database "MDB01" –Name "Mark Sheffield" –OrganizationalUnit "Users"
–Password (Converto-Securestring –Asplaintext "P@ssw0rd" –Force)
–Firstname "Mark" –LastName "Sheffield"
–DisplayName "Mark Sheffield" –ResetPasswordOnNextLogon $true

In the example we just saw, some parameters are required, others aren't. If you aren't sure, you can have a look at the PowerShell help or you could just run New-Mailbox. If you haven't specified all required parameters, PowerShell will automatically query you for them.

Creating a new mailbox through the EAC is equally easy, just follow these steps:

  1. Navigate to Recipients | Mailboxes .
  2. Click on the plus-sign ( + ) to start the new mailbox wizard.
  3. Click on New User and fill in the other fields, such as First Name , Last Name , and Display name .
  4. Click on more options... to configure advanced options like:
    • In what database the mailbox should be created
    • Whether or not an archive should be created
    • What address book policy should be used
  5. Click on Save to create the user.

Enabling a mailbox for an existing user

The following command will create a mailbox for an existing user named Kirk Jones:

Enable-Mailbox –Identity "Exblog\kjones" –Database "MDB01"

To enable a mailbox for an existing user through the EAC refer the following steps:

  1. Navigate to Recipients | Mailboxes .
  2. Click on the plus-sign ( + ) to start the new mailbox wizard.
  3. Click on Existing user and click on browse... to select the user.
  4. Fill in the other fields.
  5. Click on more options... to configure advanced options such as:
    • In what database the mailbox should be created
    • Whether or not an archive should be created
    • The address book policy
  6. Click on Save to create the user.

Removing a mailbox

This command will effectively remove the mailbox and the user account of user kjones:

Remove-Mailbox –Identity kjones

To effectively remove the mailbox and the user account through the EAC refer to the following steps:

  1. Navigate to Recipients | Mailboxes .
  2. Select the user from the list of users.
  3. Click the garbage bin icon and select delete .
  4. Click Yes to confirm.

It's a common error to use Remove-Mailbox to remove a mailbox for a user. Remember that Remove-Mailbox will also remove the user account of that user. If you only want to remove the mailbox (that is, only remove the Exchange-attributes for the user account), run Disable-Mailbox.

Disabling a mailbox

The following command will disable the mailbox for user kjones, marking the user's mailbox for deletion in the database but without touching the user account itself:

Disable-Mailbox –Identity kjones

To disable the mailbox for user through the EAC follow these steps:

  1. Navigate to Recipients | Mailboxes .
  2. Select the user from the list of users.
  3. Click the garbage bin icon and select disable .
  4. Click Yes to confirm.

How it works...

Creating and removing mailboxes is a pretty straightforward action. However, the notion of removing and disabling mailboxes can sometimes be confusing.

When removing a mailbox, you are not only removing the user's mailbox but also the user account in AD. Disabling a user on the other hand will only mark the user's mailbox for deletion in the database, leaving the user account without a mailbox.

Depending on how your databases are configured, the mailbox will remain in the database in a disconnected state until it's past the database's retention time.

For example, to raise the deleted mailbox retention period to 60 days, run the following command:

Set-MailboxDatabase MDB01 –MailboxRetention 60.00:00:00

There's more...

When a mailbox is disabled, it is removed from the list of mailboxes in the EAC and you won't see it anymore when running the Get-Mailbox cmdlet. However, this doesn't necessarily mean the mailbox isn't there anymore.

As long as the mailbox is still within the deleted mailbox retention period of your mailbox database, you can re-enable it for the same user or connect it to another user's account, as long as that user doesn't already have a mailbox associated with it.

Working with disabled mailboxes

Run the following command to see a list of disabled mailboxes for a given database:

Get-MailboxStatistics –Database "MDB01"| ?
{$_.DisconnectReason –eq "Disabled"}

To reconnect the disabled mailbox of Ashley Noel in database DBMBX01 to the user account of Ashley Noel, you can run the following command:

Connect-Mailbox "Ashley Noel" –Database "DBMBX01"

To connect the disabled mailbox of Ashley Noel to another user, Kirk Jones, run the following command:

Connect-Mailbox "Ashley Noel" –Database "DBMBX01" –User "exblog\kjones"

Microsoft Exchange 2013 Cookbook Over 70 simple but incredibly effective recipes to take you through with the common tasks in Exchange 2013 with this book and ebook
Published: September 2013
eBook Price: $29.99
Book Price: $49.99
See more
Select your format and quantity:

Managing resource mailboxes

Next to regular user mailboxes, Exchange also has a variety of special mailboxes which include the following:

  • Arbitration mailboxes used for Exchange internal functions
  • Discovery mailboxes, which are in fact regular mailboxes but reserved to be used for Discovery Searches
  • Resource mailboxes representing resources, such as Meeting Rooms, Equipment

In this topic we will have a look at some of the more common tasks involved with managing resource mailboxes.

Getting ready

To complete the following steps, you will need to launch the Exchange Management Shell or log in to the Exchange Admin Center.

How to do it...

This section explains us managing resource mailboxes.

Creating a new room mailbox

The following command will create a new room mailbox called Meeting Room Barcelona in the specified Organizational Unit:

New-Mailbox –Room "Meeting Room Barcelona" –OrganizationalUnit
"OU=Resources,OU=Accounts,DC=exblog,DC=be"

To create a new room mailbox through the EAC refer to the following steps:

  1. Navigate to Recipients | Resources .
  2. Click on the plus-sign ( + ) and select room mailbox to start the new room mailbox wizard.
  3. Enter the details as follows:
    1. Room name : Meeting Room Bremen
    2. Email address : mrbremen@exblog.be
    3. Location : Bremen
    4. Capacity : 10
    5. Booking requests : Accept or decline booking requests automatically
  4. Click on save to create the room mailbox.

Configuring booking options

To configure the maximum duration of a booking, execute the following command:

Set-CalendarProcessing –Identity "mrbremen" –MaximumDurationInMinutes 480

To configure the maximum duration of a booking through the EAC, refer to the following steps:

  1. Navigate to Recipients | Resources .
  2. Double-click on the resource you wish to configure.
  3. Navigate to booking options .
  4. Under Maximum duration (hours) type: 8.
  5. Review the other options and modify if necessary.
  6. Click on save.

How it works...

A resource mailbox is a regular mailbox that is connected to a disabled user and can be used to represent rooms or equipment that can be booked through a meeting request in Outlook. There are different types of mailboxes that you can configure:

  • Room
  • Equipment
  • Shared

Each type has its own purpose. Room mailboxes typically represent meeting rooms in your organization whereas Equipment mailboxes can range from anything like a projector to even cars (actually anything that comes into mind).

Shared mailboxes are somewhat different. These mailboxes are used by multiple people in the organization that work together on a project or are perhaps part of the same team. Users that need access to a shared mailbox will need to be given appropriate permissions before they can access the mailbox from Outlook or Outlook Web App.

There's more...

When scheduling a meeting or booking a resource, the scheduling assistant will by default only show the resource type in the resources' description, as shown in the following screenshot:

Sometimes companies however, might want to provide additional information in the description like for instance whether the room is equipped with a whiteboard or that it has a projector available. By defining custom resource properties on the resource mailbox, you can add that information to the description field. You cannot, however, add anything you like to that description.

Before you will be able to add additional options, you will have to create them in the Exchange organization by defining additional custom properties. Out of the box, Exchange allows you to configure room mailboxes with the following custom properties, monitor, whiteboard, or projector.

Defining additional custom resource properties

Run the following command to add the following options to the existing option, "air conditioning", "van", "sedan", and "station wagon".

$resourceconfig = Get-ResourceConfig $resourceconfig.ResourcePropertySchema.Add("Room/DigitalWhiteBoard") $resourceconfig.ResourcePropertySchema.Add("Room/SoundSystem") Set-ResourceConfig &
ndash;ResourcePropertySchema $resourceconfig.ResourcePropertySchema

The resource properties you are configuring cannot contain spaces! So instead of using Room/Digital Whiteboard you should use Room/DigitalWhiteboard.

----

Adding custom properties to a resource

The following commands will add the options DigitalWhiteboard and SoundSystem to the equipment mailbox called Meeting Room Bremen:

$options = @("DigitalWhiteboard","SoundSystem")Set-Mailbox "mrbremen"
–ResourceCustom $options

To verify that the resource options have been configured successfully, book a new meeting and click on add rooms in the scheduling assistant. You will now see that the description includes the newly configured properties.

See also

Have a look at the following page for more information on how to configure calendar processing options: http://technet.microsoft.com/en-us/library/dd335046.aspx.

Configuring mailbox size limits

In a typical messaging environment, you'll have all sorts of users. Some of them seem to handle e-mail very efficiently and manage to keep their mailbox size very low. It could also be they aren't receiving tons of e-mails. Others do have the tendency to keep everything, therefore possibly using more space than you initially anticipated and sized for.

Even though every design should calculate for additional storage (up to a certain level) without getting into issues, it's important that you keep an eye on the amount of storage that you have left. One way to control how much storage a database can use on disk is to limit the amount of storage mailboxes within that database can use. As such, you can safely predict the maximum database size without getting into storage space related issues.

Getting ready

To complete the following steps, you will need to log in to the Exchange Admin Center as well as launch the Exchange Management Shell.

How to do it...

In this section we will learn how to configure the mailbox sizes at various levels.

Configuring mailbox sizes at database level

The following command will configure mailbox database MDB01 with a default maximum size limit of 10 GB. At the same time, sending messages will be prohibited when the mailbox reaches 9.5 GB and the user will start receiving warnings once their mailbox reaches 9 GB in size:

Set-MailboxDatabase MDB01-ProhibitSendReceiveQuota "10GB" –ProhibitSendQuota
"9.5GB" –IssueWarningQuota "9GB"

Perform the following steps through the EAC:

  1. Navigate to servers | databases .
  2. Double-click on the database you want to configure.
  3. Click on limits .
  4. Configure the limits as follows:
    • Issue a warning at (GB) : 9
    • Prohibit send at (GB) : 9.5
    • Prohibit send and receive at (GB) : 10
  5. Click on save .

Configuring mailbox sizes at user level

The following command will limit the size of Ronald White mailbox to 5 GB while already preventing messages to be sent when it reached 4.8 GB. The user will be warned once he reaches 4 GB:

Set-Mailbox "Ronald White" –ProhibitSendQuota "4.8GB"
–ProhibitSendReceiveQuota "5GB" –IssueWarningQuota "4GB"
–UseDatabaseQuotaDefaults $false

Perform the following steps through the EAC:

  1. Navigate to recipients | mailboxes .
  2. Double-click on the mailbox you want to configure.
  3. Click on mailbox usage and then click on More options... as shown in the following screenshot:

  4. Click on Customize the settings for this mailbox and configure the following values:
    • Issue a warning at (GB) : 4
    • Prohibit send at (GB) : 4.8
    • Prohibit send and receive at (GB) : 5
  5. Click on save .

How it works...

Configuring mailbox size limits on the database level, allows you to easily control mailbox sizes without having to configure mailbox-level restrictions: every mailbox stored on the mailbox database will, by default, inherit the settings of that mailbox database.

The size limits on the mailbox level can be used to override the default values inherited from the database. It allows you to define individual limits for a single mailbox or a group of mailboxes. Another option would be to configure multiple databases in your environment, each with a different size limit, and move mailboxes between databases as their size limit should change.

Message size limits configured at the mailbox level will always override settings configured at the database level. To restore the default settings, you will have to set the UseDatabaseQuotaDefaults parameter to $true when using the Exchange Management Shell or set it to Use the default quota settings from the mailbox database in the EAC.

Managing personal archives

Personal archives were first introduced in Exchange 2010 and can be used to offload data from the primary mailbox. There are many good reasons to implement personal archives. For instance, they can be used to limit the size of the primary mailbox or because of some legal requirements that force you into keeping e-mail for a certain amount of time.

In this topic, we will go through the process of creating and managing archives.

Getting ready

To complete the following steps, you will need to launch the Exchange Management Shell or log in to the Exchange Admin Center.

How to do it...

The steps for enabling a personal archive for an existing mailbox-enabled user are explained in this section.

The following command will create a personal archive for a user called Holly Holt which already has a mailbox:

Enable-Mailbox "Holly Holt" –Archive

You can execute the same task through the EAC as well:

  1. Navigate to recipients | mailboxes .
  2. Double-click on the mailbox you want to enable an archive for.
  3. Click on mailbox features and scroll down to Archiving as shown in the following screenshot:

  4. Click on Enable .
  5. Click on browse... and select the mailbox database where to store the archive.
  6. Click on ok .
  7. Verify that the status now says: Archiving: Enabled .
  8. Click on save .

The steps for creating a new user with mailbox and archive are explained in the following section.

The following command creates a new user Mark Sheffield, creates a mailbox, and enables a personal archive:

New-Mailbox –UserPrincipalName Mark.Sheffield@exblog.be –Alias user1 – Archive –Database "MDB01" –Name "Mark Sheffield" –OrganizationalUnit "Users" –Password (Converto-Securestring –Asplaintext "P@ssw0rd" –Force) –Firstname "Mark" –LastName "Sheffield" –DisplayName "Mark Sheffield" – ResetPasswordOnNextLogon $true

Perform the following steps through the EAC:

  1. Navigate to recipients | mailboxes .
  2. Click on the plus-sign ( + ) to launch the new mailbox wizard.
  3. Enter the user's details like the First name , Last Name , and so on.
  4. Click on more options... .
  5. Click on Create an on-premises archive mailbox for this user .
  6. Click on browse to select the mailbox database where to store the archive.
  7. Click on save .

This section explains reviewing the personal archive properties.

The following command will output the archive details of Holly Holt:

Get-Mailbox "Holly Holt" | fl Name,*archive*

The screenshot for the preceding command is as follows:

Perform the following steps through the EAC:

  1. Navigate to recipients | mailboxes .
  2. Double-click on the mailbox you want to view details for.
  3. Click on mailbox features and scroll down to Archiving: Enabled .
  4. Click on View details .

How it works...

One could argue that personal archives are no more (or less) than a secondary mailbox for a user. Although there is some truth in that statement, an archive mailbox cannot be used to send or receive e-mails, nor is it possible to directly assign permissions to it. On the other hand, if someone has received full Access to a mailbox that has an archive, that person will also have access to the archive.

Given the right client version and license, archives can be viewed from either Outlook or Outlook Web Access. There's one catch though: archives can only be viewed when the client is online and connected to the Exchange server. This means they will not be available when Outlook Web App or Outlook are working in offline mode.

The following screenshot depicts how a personal archive appears in Outlook:

By default, if you don't specify an alternate location, the archive will be created in the same database as the user's primary mailbox. However, this is not a requirement and you are more than welcome to specify an alternate location for it.

Personal Archives are a so-called premium feature and require Enterprise Client Access Licenses (eCALs). They also require specific version of Outlook to work with. For more information have a look at the following web page: http://office.microsoft.com/en-us/outlook-help/license-requirements-for-personal-archive-and-retention-policies-HA102576659.aspx

Assigning mailbox permissions

One of the tasks that you will be faced with is granting access to other user's mailboxes. Although this task could be expedited to your help desk by using RBAC, typically changing permissions isn't something that many companies allow to be done by a lot of people.

Getting ready

To complete the following steps, you will need to launch the Exchange Management Shell or log in to the Exchange Admin Center.

How to do it...

In this section we will learn about assigning mailbox permissions.

Assigning full access permissions to a mailbox

The following command will grant a user Mark Johnson full access permissions to the mailbox of Ronald White:

Add-MailboxPermission –Identity "rwhite" –user "exblog\mjohnson"
–AccessRights "FullAccess"

Assigning full access permissions through the EAC can be done as follows:

  1. Navigate to recipients | mailboxes .
  2. Double-click on the mailbox you want to grant access to.
  3. Click on mailbox delegation .
  4. Click on the plus-sign ( + ) under Full Access .
  5. Select the user you want to grant full access and click on ok .
  6. Click on save .

Assigning send-as or send on behalf of permissions

The following command will grant user Mark Johnson send-as permissions on the mailbox of Ronald White:

Add-ADPermission "Ronald White" –User "Exblog\mjohnson"
–Extendedrights "Send As"

Perform the following steps through the EAC:

  1. Navigate to recipients | mailboxes .
  2. Double-click on the mailbox you want to grant access to.
  3. Click on mailbox delegation .
  4. Click on the plus-sign ( + ) under Send As .
  5. Select the user you want to grant full access and click on ok .
  6. Click on save .

The following command grants user Mark Johnson "send-on behalf of" permissions on the mailbox of Ronald White:

Set-Mailbox "Ronald White" –GrantSendOnBehalfTo "Exblog\mjohnson"

Perform the following steps through the EAC:

  1. Navigate to recipients | mailboxes .
  2. Double-click on the mailbox you want to grant access to.
  3. Click on mailbox delegation .
  4. Click on the plus-sign ( + ) under Send on Behalf Of .
  5. Select the user you want to grant full access to and click on ok .
  6. Click on save .

Granting receive-as permission

The following command grants user Mark Johnson "receive-as" permissions on the mailbox of Ronald White:

Add-ADPermission –Identity "Ronald White" –User "exblog\mjohnson"
–ExtendedRights "receive-as"

It is not possible to assign receive-as permissions through the EAC.

How it works...

Full access permissions should be relatively self-explanatory, they grant a user (or distribution group) full access to the mailbox for which the permission was applied.

Send-as permissions allow someone to send an e-mail from the mailbox the permission is applied to. E-mails sent from that mailbox appear to be coming from the mailbox owner.

The send on behalf of permission is different from the send-as permission; it also allows someone to send e-mails from the mailbox for which the permission was applied, however, the recipient will see that the message was sent by one of the mailbox's delegates.

Send-as and send on behalf of permissions cannot be used at the same time. When configuring these permissions, you'll have to choose either of them.

An example screenshot of send-as on behalf of permission is as follows:

Receive-as permissions are used to grant someone access to a mailbox without granting the ability to send mails. For example, this could be the case when you are performing a legal search for content in the mailbox.

There's more...

In Exchange 2010 SP1 a new feature called Auto-Mapping was introduced. This feature will automatically map any mailbox a user has full access to in Outlook:

Auto-Mapping is enabled by default when granting someone full access to a mailbox. It can only be disabled when adding the permission and only through the Exchange Management Shell by adding –Automapping $false to the command:

Add-MailboxPermission –Identity "rwhite" –user "exblog\mjohnson"
–AccessRights "FullAccess" –AutoMapping $false

If you want to disable Auto-Mapping feature for previously applied permissions, you will have to remove and re-apply the permission with the feature disabled.

See also

Take a look at the following TechNet article for more information on mailbox permissions: http://technet.microsoft.com/en-us/library/aa997244.aspx.

Moving mailboxes to another database

Earlier in this article we talked about moving databases to another location. Similarly, you can also move mailboxes from one database to another. This is typically something you'd do when a user moves between regions or sites that have their own Exchange Servers. Another use-case for moving mailboxes is to redistribute the load on your databases as not all mailbox databases will grow at the same pace.

Getting ready

To execute the following steps, log in to the EAC or launch the Exchange Management Shell.

How to do it...

This section explains how to move mailboxes.

Moving mailboxes using migration batches

The following command will move a batch of users, specified in a file called users.csv, to database MDB01:

New-MigrationBatch –Name –CSVData ([System. IO.File]::ReadAllBytes("C:\temp\users.csv")) –Local –TargetDatabase MDB01 –AutoStart

The CSV file that you are using, will have to be in the following format:

Executing the same steps through the EAC:

  1. Navigate to recipients | migration .
  2. Click on the plus-sign ( + ) to start the new local mailbox move wizard.
  3. Click on the plus-sign ( + ) and select the users you want to move to another database.
  4. Click on next .
  5. Enter a descriptive name for the migration batch.
  6. Select Move archive mailbox along with primary mailbox .
  7. Click on browse... under Target database and select the database you want to move the user to.
  8. Click on next .
  9. Click on browse... and select the recipient that should receive the migration reports by e-mail.
  10. Select Automatically start the batch and Automatically complete the migration batch .
  11. Click on new .

If you are using a CSV file instead of selecting the users, make sure the file is in the same format as when used with PowerShell.

Moving mailboxes using move requests

The following command will initiate a move request to move the mailbox of Holly Holt to database MDB01:

New-MoveRequest –Identity "Holly Holt" –TargetDatabase "MDB01"

Although it is possible to move a single mailbox using the EAC, it will still create a new migration batch for it. Regular mailbox moves cannot be created through the EAC.

Checking the progress of a mailbox move

The following command will output an overview of the existing move requests and their current status and progress:

Get-MoveRequest | Get-MoveRequestStatistics

Checking the status of a migration batch

The following command show detailed information a given migrationbatch:

Get-MigrationBatch "Batch1"| FL *

It is also possible to get an overview per individual user in a migration batch. The following command will report the current migration status for a user called Carrie Wood:

Get-MigrationUserStatistics cwood@exblog.be

Removing completed move request

The following command will remove all completed move requests:

Get-MoveRequest | Where Status –eq "Completed" | Remove-MoveRequest

You might have noticed the simplified syntax in the preceding example. This is new to PowerShell v3 that was introduced with Windows Server 2012. This new syntax is exactly the same as the following: Get-MoveRequest | where {$_.Status –eq "Completed"} | Remove-MoveRequest. Much simpler, isn't it?

How it works...

The most obvious time to move mailboxes is during a migration from one version of Exchange to another, but even during the lifetime of your Exchange environment, there are many reasons to perform a mailbox move, for instance to:

  • Fix mailbox corruption
  • Re-balance databases
  • Move a mailbox to another physical location
  • Change a mailbox' properties such as quotas
  • Change permissions applied at database level
  • Investigate issues

New move requests, whether they were initiated directly using the New-MoveRequest cmdlet or via a migration batch, are automatically picked up by the Mailbox Replication Service ( MRS ). This service is responsible for handling mailbox moves and runs on each Mailbox Server Role in the organization. The MRS regularly scans the environment for new move requests and will automatically start processing new requests on a first created, first served basis.

As soon as a move request is detected, one of the MRS' in the AD Site of the source mailbox will take ownership of the request and initiate the actual move of the data. This move consists of pulling the data from the source mailbox and copying it to the target mailbox.

Mailbox moves are also referred to as online mailbox moves, essentially pointing out that a user can continue working while a move is being executed. Because of this, chances are that a user makes changes (create or delete new e-mail messages) while data is being copied to the target mailbox. To overcome that mailbox data isn't necessarily static and make sure that these changes are also copied, the MRS will use multiple passes to copy the data from the source mailbox: while copying data it will monitor the source mailbox for changes and copy those changes over in a subsequent pass of the mailbox.

Only during the last pass, the source mailbox will be locked to avoid conflicts and missed data between the source and the target mailbox. This last phase of the move ( CompletionInProgress status) can last anywhere from a few seconds to a few minutes.

Mailbox move requests are pretty straightforward: they are created, processed, and completed. Once a move request is completed, you will have to clear it before you can create a new move request for that mailbox.

Migration batches also rely on the Mailbox Replication Service to effectively move data to the target location. In fact, when a migration batch is processed it will automatically create new move requests for the mailboxes in that batch.

Migration batches can be seen as a sort of management architecture around regular move requests that provide you some additional capabilities such as e-mail notifications and incremental synchronizations. The latter can prove useful if you have to copy large amounts of data, but do not want to switch over to the target mailbox just yet. This could be the case when you want to move data to another physical location ahead of time, for instance, during the weekend or nights. The incremental synchronizations that will happen after the initial sync will be much smaller in size and therefore have less impact on the bandwidth that is used.

There's more...

Regular move requests are handled asynchronously. This means that the Mailbox Replication Service will treat a mailbox move "when it has time to do so". In large and busy environments, it could take a while before a mailbox gets effectively moved!

Synchronous mailbox moves

In the rare scenarios where you want a mailbox move to be executed immediately, you can revert to using a built-in PowerShell script that will initiate a synchronous mailbox move: it is executed immediately!

The following command will perform a synchronous mailbox move for a user called Jeff Allen to DBMBX01:

Cd $exscripts .\MoveMailbox.ps1 –Identity jLittle –TargetDatabase MDB01

The screenshot for the output of the preceding command is as follows:

Bad item limit

As described earlier, move request can be used to fight corruption in a mailbox. Sometimes you might find that a move request (or migration batch) fails because of a high number of bad items that were found during the move. By default, the bad item limit for a move is zero. This means the move will fail when a single corrupt item is found.

Items can become corrupted for various reasons. It's very likely that an item has been around for a while and has remained untouched for a long period of time, possibly rendering it corrupt. In such a case, there's nothing much you can do and it certainly serves no point in trying to move them along.

By specifying a custom bad item limit for a move request, you tell the MRS to ignore corrupt items it encounters until it reaches the threshold.

The following command will create a new move request for user Jef Allen to DBMBX01 and set the BadItemLimit to 15:

New-MoveRequest –Identity "JAllen" –TargetDatabase "MDB01" –BadItemLimit 15

Microsoft Exchange 2013 Cookbook Over 70 simple but incredibly effective recipes to take you through with the common tasks in Exchange 2013 with this book and ebook
Published: September 2013
eBook Price: $29.99
Book Price: $49.99
See more
Select your format and quantity:

Managing public folders

Public folders have changed quite dramatically compared to before. Prior to Exchange 2013 public folders were stored in their own databases. As such, they were managed in a completely different way than regular mailboxes. In this topic we will go through some of the common management tasks related to public folder management.

Getting ready

To execute the following steps either log in to the Exchange Admin Center or launch the Exchange Management Shell.

How to do it...

We will learn how to manage folders in this section.

Creating new public folder mailboxes

The following command will create a new public folder mailbox named Accounting on mailbox database MDB01:

New-Mailbox –Name "Accounting" –Database "MDB01" –PublicFolder

Execute the following steps to create a new public folder mailbox name Accounting using the EAC:

  1. Navigate to public folders | public folder mailboxes .
  2. Click on the plus-sign ( + ) to start the new public folder mailbox wizard.
  3. Under Name , type Accounting.
  4. Under Organizational Unit , click on browse… and select an OU to store the PF Mailbox' user account in.
  5. Under Mailbox database , click on browse… to select the database where to store the public folder mailbox.
  6. Click on save .

When you have no public folder mailboxes, the first time you navigate to the public folder tab, you will get the following error:

This error can safely be ignored as it just informs you there are no public folder mailboxes found or they are in course of being migrated.

Creating public folders

The following command will create a new public folder called Sales Results in the public folder mailbox Accounting:

New-PublicFolder –Name "Sales Results" –Mailbox "Accounting"

Perform the following steps through the EAC:

  1. Navigate to public folders | public folders .
  2. Click on the plus-sign ( + ) to start the new public folder wizard.
  3. Type Sales Results in the Name field.
  4. Click on save .

By clicking on a public folder, you navigate one level down the folder hierarchy. If you run the new public folder wizard while in another public folder, you can create a hierarchy of folders.

Managing public folder permissions

The following command will grant user Carol Wood owner rights on the Accounting public folder:

Add-PublicFolderClientPermission –Identity "\Accounting" –User
"CWood" –AccessRights "Owner"

Perform the following steps through the EAC:

  1. Navigate to public folders | public folders .
  2. Highlight the public folder you want to provide access to and click on manage under Folder permissions in the action-pane at your right-hand side.
  3. Click on the plus-sign ( + ) and then click on browse... to select the user you want to grant permissions to.
  4. Select the appropriate permissions from the Permission level dropdown menu. If required, you can also create custom permissions by selecting the appropriate permissions yourself.
  5. Click on save .
  6. In the Public Folder Permissions window, click on save again.

Removing permissions is as easy as granting them. You need to execute the exact same steps, only instead of adding another user or changing existing permissions, you simply remove a user's permissions by highlighting the user and clicking on the minus sign ( - ).

How it works...

Once, public folders were the best way for sharing messages and collaborating with a group of people. Even with the raise of SharePoint and new features like Site Mailboxes that bring both Exchange and SharePoint closer together, public folders often remain loved for their integration with Outlook and simplicity. In order to provide some sort of high availability and resiliency, you could store multiple instances of public folders in different locations. A copy of a public folder is also referred to as a replica. Because public folders operated as a multi-master model, it was possible to make changes to a document in a public folder from each location that had a replica.

To keep the different replicas in sync with each other, Exchange relied on a built-in replication mechanism which was, unlike a Database Availability Group, based on SMTP messages. A server hosting a given copy of a public folder would exchange SMTP messages containing updated information and content of that public folder with other servers hosting that had a copy of that public folder. Even though the replication mechanism was robust, it lacked a set of management features; often leaving the administrator to the Exchange server's mercy.

Public folders in Exchange 2013 are no longer stored in a separate database. Instead, public folders are now stored in a new type of mailbox, unsurprisingly called the public folder mailbox. Because these mailboxes are now stored in regular mailbox databases, they can take advantage from the exact same high-availability and resiliency features like the Database Availability Group.

These changes come with a trade-off though: the public folder architecture is no longer based on a multi-master model. This means there can only be a single (active) copy of a public folder mailbox, and therefore of a public folder, at any given time.

In the entire Exchange organization, there is only a single public folder mailbox that is responsible for maintaining a writeable copy of the public folder hierarchy. This mailbox is referred to as the hierarchy mailbox. All other public folder mailboxes have a read-only copy of the hierarchy. By default, a user will be pointed to his or her default public folder mailbox, which is a configurable property on the user's mailbox.

Whenever the user makes a change to the public folder hierarchy like adding or removing a new folder, the public folder mailbox will pass that change on to the master hierarchy mailbox, which will then in turn dispatch the change to all other public folder mailboxes so that they can update their read-only copy of the hierarchy. The diagram depicting the same is as follows:

Surely you can have multiple copies stored at different locations, but access to a public folder always happen from the Mailbox Server hosting the active copy of the mailbox database in which the public folder mailbox is stored. This will certainly have its impact in organizations that require access to the same public folders over different locations, but lack the bandwidth to support the direct connections. In such a case, you might want to rethink your public folder placement, if not perhaps move them to a more suitable solution such as SharePoint.

Configuring outbound mail flow

Mail flow is essentially what a messaging platform is all about. When talking about mail flow, we can make two major distinctions: internal traffic and external traffic.

When talking about external traffic, I'm referring to all mail traffic where the destination of the message is outside the company's internal Exchange organization.

Getting ready

To execute the following steps, either log in to the Exchange Admin Center or launch the Exchange Management Shell.

How to do it...

The steps for creating a send connector to send messages to the internet are explained in this section.

The following command will create a new send connector that will route messages to the internet:

New-SendConnector "Default Internet Connector" –AddressSpace "*"
–Internet –Enabled $true

Perform the following steps through the EAC:

  1. Navigate to mail flow | send connectors .
  2. Click on the plus-sign ( + ) to start the new send connector wizard.
  3. Type Default Internet Connector in the Name field.
  4. Select Internet as the connector type and click on next .
  5. Select MX record associated with recipient domain and click on next .
  6. Click on the plus-sign ( + ) to add an address space.
  7. Type * in the FQDN field, leave the other default values and click on save .
  8. Click on next .
  9. Click on the plus-sign ( + ) to select the source servers associated with this connector.
  10. Click on finish .

The steps for creating a send connector to route emails through a smart host are explained in the following section.

The following command will create a new send connector that will route all e-mails for the domain PartnerCompany.com through a smarthost (10.20.30.40):

New-Sendconnector "Connector to PartnerCompany.com" –SmartHosts
"10.20.30.40" –AddressSpace "SMTP:partnercompany.com;1" –Enabled $true

Or, perform the following steps through the EAC:

  1. Navigate to mail flow | send connectors .
  2. Click on the plus-sign ( + ) to start the new send connector wizard.
  3. Type Connector to PartnerCompany.com in the Name field.
  4. Select Custom and click on next .
  5. Select Route mail through smart hosts and click on the plus-sign ( + ) to add one or more smart hosts:

  6. Click on next .
  7. Leave the default authentication value ( None ) and click on next .
  8. Click on the plus-sign ( + ) to add the following address space: PartnerDomain.com ; leave both Type and Cost by their default values and click on save .
  9. Click on next .
  10. Click on the plus-sign ( + ) to select the source servers associated with this connector.
  11. Click on finish .

How it works...

Connectors are an essential part of the mail flow mechanism in your Exchange organization. Unsurprisingly, receive connectors are used to accept messages from other sources into your Exchange organization. These sources can be anything ranging from another Exchange server in your organization to an unknown source on the Internet.

Send connectors (how could you guess?) are used to route e-mails outside of your organization.

During the installation of Exchange, the necessary receive connectors to allow for basic mail flow are already created. In a typical Exchange deployment, you wouldn't even have to configure additional receive connectors.

However, before you are able to send messages to the Internet, you will have to create at least one send connector with the default address space "*" to route messages to the Internet, as described previously.

There's more...

There is more in store and explained in the following section.

Send connector costs

How Exchange 2013 routes e-mails within the organization deserves a article at its own right. However, in order to keep things short and to the point we won't discuss the inner workings in detail. Essentially, Exchange looks at various parameters to determine the least-cost route to a destination. Elements that can influence the cost of a route to the destination of a message can be, but are not limited to:

  • Active Directory sites, site link costs and Exchange-specific site link costs
  • Hub Sites
  • Costs associated with send connectors

Assigning a specific cost to a send connector can be an effective way to control by what Exchange Servers that connector will be used. Consider the following situation:

In this example, whenever a mailbox on Site C would send a message to a recipient on the Internet, the message would get routed to the connector on Site A because it has the lowest total cost: the cost of the site link between Site A and Site C plus the cost of the connector in Site A , 6 is lower than the cost of the site link between Site C and Site B and the connector in Site B , being 11.

To make sure that outgoing messages from Site C to the Internet are routed over the connector in Site B , you have several options:

  • Lower the site link cost between sites B and C
  • Increase the site link cost between site A and C
  • Assign a higher Exchange-specific cost to the site link between sites A and C
  • Increase the cost of the connector in site A

Even though all these options are valid, let's zoom in onto the latter one and change the cost of the connector in Site A to, for example, 9, the total cost from Site C to the Internet through Site A would now be 14 (5 + 9) which is higher than the cost through Site B (11). As a result, all message will flow through Site B . This change has also the additional benefit of not changing the routing behavior for mailboxes in Site A . The cost of sending a message to the Internet might have changed from 1 to 9, but it's still lower than routing messages through Site B which has a total cost of 11 (10+1).

Note that when you have multiple send connectors that are valid for the same mail domain, Exchange will always use the send connector with the lowest cost. It will not attempt to use the other send connector, even if the send connector with the lowest cost is temporarily unavailable. Instead, if this happens, it will queue the mails until the connector becomes available again.

To force messages to be re-routed through another connector with the same cost, you must manually disable the connector and resubmit the messages in the queue using the Retry-Queue command with the –Resubmit parameter.

Configure a send connector to route e-mails through the Client Access Server

By default a new send connector will send messages either directly to the Internet or through a configured smart host. You can configure a send connector to route messages through the front-end transport service on the Client Access Server as well; this gives you the benefit that both inbound and outbound messages go through a single point.

The following command will configure the default Internet connector we created earlier to route messages through the Client Access Server:

Set-SendConnector –Identity "Default Internet Connector"
-FrontEndProxyEnabled $true

Perform the following steps through the EAC:

  1. Navigate to mail flow | send connectors .
  2. Double click on the Default Internet Connector .
  3. Select Proxy through client access server and click on save .

Configuring accepted domains

Simply put, by creating accepted domains you control for what domains your Exchange environment will accept messages.

Getting ready

To execute the following commands, log in to the Exchange Admin Center or launch the Exchange Management Shell.

How to do it...

The following command will create a new accepted domain for the domain name exblog.com:

New-AcceptedDomain –Name "exblog.com" –Domainname "exblog.com"

Perform the following steps through the EAC:

  1. Navigate to mail flow | accepted domains .
  2. Click on the plus-sign ( + ) to start the new accepted domain wizard.
  3. Type in a descriptive name.
  4. Type: exblog.com under *Accepted domain .
  5. Select Authoritative domain. Email is delivered to a recipient in this Exchange organization , as shown in the following screenshot:

  6. Click on save .

How it works...

Accepted domains are used to control what e-mail domains your Exchange server is allowed to receive e-mails for. There are three types of accepted domains:

  • Authoritative
  • Internal relay
  • External relay

A domain is considered authoritative if the Exchange organization is the point of delivery and recipients for that domain have mailboxes in the Exchange organization. During the installation of Exchange, the local active directory domain name is configured as default accepted domain.

Internal relay domains are used when some recipients for that domain have mailboxes in the Exchange organization and some don't. This could, for example, be the case where you have a domain name that has to coexist with other messaging platforms within the company.

External relay domains are used when none of the recipients for that domain have a mailbox in the Exchange organization. Messages for that domain are relayed outside the Exchange organization, possibly even outside the company.

There's more...

E-mail address policies are used to provide users an e-mail address. Depending on your organizational structure and the number of accepted domains you have, you might end up with multiple e-mail address policies. This allows you to define a different set of e-mail addresses for different groups of people, for instance, per department or business unit.

Configuring e-mail address policies

The following command will create a new e-mail address policy that will give all recipient types in the Accounting department a default e-mail address in the following format: firstname.lastname@exblog.com:

New-EmailAddressPolicy –name "exblog.com"
–ConditionalDepartment
"Accounting" –EnabledPrimarySMTPAddressTemplate "%g.%s@exblog.com"
–IncludedRecipients "All"

Perform the following steps through the EAC:

  1. Navigate to mail flow | email address policies .
  2. Click on the plus-sign ( + ) to start the new email address policy wizard.
  3. Type a descriptive name, for example, exblog.com.
  4. Click on the plus-sign ( + ) to create a new e-mail address format.
    • Select exblog.com from the list of accepted domains
    • Select John.Smith@contoso.com
    • Click on save
  5. Select All recipient types .
  6. Click on add a rule and select Department .
  7. Type Accounting and click on ok .
  8. Click on save .

Configuring message size limits

This section explains us configuring message size limits.

Getting ready

To execute the following steps, log in to the Exchange Admin Center or launch the Exchange Management Shell.

How to do it...

The steps are explained in the following sections.

Configuring message size limits at organizational level

The following command will set the default organizational message size limits to 35 MB and will also limit the maximum amount of recipients per message to 250:

Set-TransportConfig –MaxReceiveSize "35MB" –MaxSendSize "35MB"
–MaxRecipientEnvelopeLimit "250"

Perform the following steps through the EAC:

  1. Navigate to mail flow | receive connectors .
  2. Click the three dots ( ... ) to show more options and click organization transport settings.
  3. Configure the limits as follows:
    • Maximum number of recipients : 250
    • Maximum receive message size (MB) : 35
    • Maximum send message size (MB) : 35
  4. Click on save .

Configuring message size limits at connector level

The following command will configure the default receive connector on EX01 to only receive messages up to 35 MB:

Set-ReceiveConnector "EX01\Default EX01" –MaxMessagsize "35MB"

Perform the following steps through the EAC:

  1. Navigate to mail flow | receive connectors .
  2. Double-click on the connector you would like to edit.
  3. Scroll down on the general tab and configure the following limit:
    • Maximum receive message size (MB) : 35
  4. Click on save .

Message size limits can be configured on all connector types: receive connectors and send connectors. They can also be applied both at the Client Access Server as the Mailbox Server role.

Configuring message size limits at mailbox level

Executing the following command will configure the mailbox of Mark Spencer so that it can receive and send messages up to 20 MB:

Set-Mailbox "mspencer" –MaxSendSize "27MB" –MaxReceiveSize "27MB"

Because of the conversion of messages in Exchange, you should make sure to configure a value that is approximately 33 percent higher than the size you want to limit. So for a messages size of 20 MB, you would configure 27 MB.

Perform the following steps through the EAC:

  1. Navigate to recipients | mailboxes .
  2. Double-click on the user you want to configure limits for.
  3. Click on mailbox features and scroll down to Message Size Restrictions .
  4. Click on View details .
  5. Check Maximum message size (KB) and type: 27648 for both Sent and Received messages.
  6. Click on ok and then click on save .

How it works...

Having to manage message size limits at various levels might be confusing at first, but it allows you to granularly apply different message sizes for different scenarios. There are three levels that size limits can be applied to:

  • Organizational level
  • Connector level
  • Mailbox level

The best practice is to configure the most restrictive message size limit where messages enter your organization. Typically, this is at the connector level. By doing so, you avoid that the transport service will waste precious resources by processing a message that will be rejected by the organizational or user-level size limits anyway.

The organization level setting should always be the least restrictive setting within the organization. Limits configured at mailbox level take precedence over other configured size limits. At least this is the case when the limit at user level is configured as the most restrictive size limit.

If the size limit at mailbox level exceeds the one that is configured at the organizational level, the user-level size limit only takes precedence for messages that are sent within the organization. For all other traffic like from and to the Internet, the most restrictive size limits configured at the organizational level or connector level apply.

Summary

Thus in this article we learned how to configure and manage the Mailbox Server Role in Microsoft Exchange 2013.

Resources for Article :


Further resources on this subject:


About the Author :


Michael Van Horenbeeck

Michael Van Horenbeeck is a technology consultant, Microsoft Certified Solutions Master (MCSM), and Exchange Server MVP from Belgium, mainly working on projects involving Microsoft Exchange, Office 365, Active Directory, and a bit of Lync.

Michael has been active in the industry for about 12 years and developed a love for Exchange back in 2000. He is a frequent blogger and a member of the Belgian Unified Communications User Group Pro-Exchange, (www.pro-exchange.be). Besides writing about technology, Michael is a regular contributor to The UC Architects podcast (www.theucarchitects.com) and he speaks regularly at various conferences around the world.

You can follow Michael via twitter (@mvanhorenbeeck) or his blog: michaelvh.wordpress.com.

Peter De Tender

Peter De Tender started his career as an IT professional with over 16 years of experience. Peter has a strong focus on Microsoft Infrastructure technologies, with an expertise in Exchange Server since Version 4.0 back in 1995. He has worked on numerous design and implementation projects in Belgium and with International Customers. He has also worked in SMB environments and on large-scale 50,000 mailbox platforms. Besides doing Exchange consulting, Peter frequently works on general Microsoft Core IO platform integration and consultancy projects as an Infrastructure Architect, mainly working with Windows Server, HyperV, and System Center Operations Manager.

Peter is a also a recognized Microsoft Certified Trainer and out of that expertise he is both country lead for Belgium and European Chairman of IAMCT, the International Association of Microsoft Certified Trainers (http://www.iamct.org). He is also a Microsoft Springboard Series member.

For the last few years, Peter has been regularly traveling around the world for speaking at international conferences on Microsoft technologies such as MCT Summits NA and EU, TechFuse Minneapolis and Community Day, or for working as a staff member at Microsoft TechEds NA and EU, MMS, and so on.

Peter started his career as a database admin for an international organization, where he got his first exposure to with Windows Server NT4 back in 1996. He decided to work as an IT engineer on Windows Server, and never looked back. Having worked for some of the largest IT organizations in Belgium, he became the managing partner of a Microsoft technology oriented company in Belgium having 25 high-skilled consultants under his wings. Peter is now working as an independent and has also his own company out of which he is available for hire for giving training, coaching, consulting ,or speaking at your conference.

As a technical writer for TrainSignal (http://www.trainsignal.com) and Petri Knowledgebase (http://www.petri.co.il), Peter writes many technical how-to articles on a multitude of Microsoft products, always with a twist from his own experience. You can follow Peter via http://www.twitter.com/pdtit

Besides this Cookbook, Peter is also the co-author of Upgrading Skills to Exchange Server 2013, a courseware training guide published by MVP-Press (http://www.mvp-press.com).

Books From Packt


BlackBerry Enterprise Server for Microsoft® Exchange
BlackBerry Enterprise Server for Microsoft® Exchange

Microsoft Exchange Server 2013 PowerShell Cookbook: Second Edition
Microsoft Exchange Server 2013 PowerShell Cookbook: Second Edition

Microsoft Exchange 2010 PowerShell Cookbook
Microsoft Exchange 2010 PowerShell Cookbook

 iPhone with Microsoft Exchange Server 2010: Business Integration and Deployment
iPhone with Microsoft Exchange Server 2010: Business Integration and Deployment

BlackBerry Enterprise Server 5 Implementation Guide
BlackBerry Enterprise Server 5 Implementation Guide

Microsoft Windows PowerShell 3.0 First Look
Microsoft Windows PowerShell 3.0 First Look

Microsoft Windows Identity Foundation Cookbook
Microsoft Windows Identity Foundation Cookbook

SOA Patterns with BizTalk Server 2009
SOA Patterns with BizTalk Server 2009


No votes yet

Post new comment

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
V
D
r
b
6
j
Enter the code without spaces and pay attention to upper/lower case.
Code Download and Errata
Packt Anytime, Anywhere
Register Books
Print Upgrades
eBook Downloads
Video Support
Contact Us
Awards Voting Nominations Previous Winners
Judges Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software
Resources
Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software