Manage Learn to apply best practices and optimize your operations.

Exchange Server 2010 throttling policy construction

Learn how to build client throttling policies using Exchange Web Services parameters and EMS commands to balance Exchange 2010 resources and overall performance.

Client throttling policies are often used to evenly distribute server resources and prevent Exchange Server resource deprivation. Because these policies are created using the Exchange Management Shell, it's important to know which acronyms correspond to the each component you want to throttle so that you can then create Exchange Web Services (EWS) parameters. This tip explains how to combine parameters with EMS commands to create and assign your own custom throttling policies.

An EWS parameter is different from EMS commands you may be accustomed to, which use a verb-subject syntax. For example, if you want to use a client throttling policy command to control the amount of time OWA clients spend accessing your client access server (CAS), you would use the following acronym: OwaPercentTimeInCAS. But since this command doesn't fit Exchange Management Shell's verb-subject syntax, it cannot be used alone.

Additionally, there are numerous verbs you can use in client throttling policy commands, all of which are attached to the subject ThrottlingPolicy. Some of the most commonly used verbs are:

  • New
  • Remove
  • Get
  • Set

Suppose that you wanted to create a new throttling policy called MyPolicy for the OwaPercentTimeInCas command, and set the time value to 50. The command would look like this:

New-ThrottlingPolicy –Name MyPolicy –OwaPercentTimeInCAS 50

The basic command is New-ThrottlingPolicy, with both the Name and OwaPercentTimeInCAS parameters appended to it. Figure 1 shows what the executed command looks like.

What the New-ThrottlingPolicy –Name MyPolicy –OwaPercentTimeInCAS 50 command looks like when executed.
Figure 1. This is what the New-ThrottlingPolicy –Name MyPolicy –OwaPercentTimeInCAS 50 command looks like when executed.

As mentioned, a policy cannot stand alone; you must connect it to something for it to perform an action. Microsoft makes it easy to assign a non-default throttling policy to a mailbox. For example, to assign the throttling policy to a user named User5, use the following commands:

$b = Get-ThrottlingPolicy MyPolicy

Set-Mailbox –Identity User5 –ThrottlingPolicy $b

The first line of code creates the variable $b, which contains the throttling policy we created earlier (MyPolicy). The second line of code uses the Set-Mailbox command to modify User5's mailbox. In this case, we've assigned the mailbox the value that the variable $b contained, so that it will modify the mailbox's throttling policy. Figure 2 shows what this executed command looks like.

These EMS commands assign a non-default throttling policy to a user's mailbox.
Figure 2. These EMS commands assign a non-default throttling policy to a user's mailbox.

Exchange 2010 does not confirm that it applied the new throttling policy. To check that the policy was applied, assign the $b variable to the actual command:

Get-Mailbox | where-object {$_.ThrottlingPolicy –eq $b.identity}

After the Get-Mailbox command runs, it returns the name of every mailbox to which the throttling policy has been applied. In this case, User5 is the only result (Figure 3).

Use the Get-Mailbox command to verify that a throttling policy has been applied.
Figure 3. Use the Get-Mailbox command to verify that a throttling policy has been applied.

About the author: Brien M. Posey, MCSE, is a seven-time recipient of Microsoft's Most Valuable Professional (MVP) award for his work with Exchange Server, Windows Server, Internet Information Services (IIS), and File Systems and Storage. Brien has served as CIO for a nationwide chain of hospitals and was once responsible for the Department of Information Management at Fort Knox. As a freelance technical writer, Brien has written for Microsoft, TechTarget, CNET, ZDNet, MSD2D, Relevant Technologies and other technology companies. You can visit Brien's personal website at

Do you have comments on this tip? Let us know.

This was last published in July 2010

Dig Deeper on Exchange Server setup and troubleshooting

Start the conversation

Send me notifications when other members comment.

Please create a username to comment.