EMS commands to modify ActiveSync throttling policies

Throttling Exchange ActiveSync policies takes a certain amount of command-line savvy. Get the command-specific info you need.

When you install the client access server in Exchange 2010, ActiveSync is enabled by default. To manage this connection,...

you can use ActiveSync throttling policies via the command line. That means you’ll need to have some solid Exchange Management Shell knowledge.

In this tip, I’ll explain how to modify the EASMaxConcurrency throttling policy in Exchange 2010 SP1. You can adapt these instructions to any Exchange 2010 ActiveSync throttling policy.

Retrieving a throttling policy
Before you can change ActiveSync throttling, you need to determine which policy settings are in use. To do this, enter the Get-ThrottlingPolicy command into Exchange Management Shell (EMS) to display the default throttling policy (DefaultThrottlingPolicy_<guid>) and any other policies that are in use. The screen also displays values assigned to each policy setting. As you can see in Figure 1, the EASMaxConcurrency and EASMaxDevices policies are set to 10; the EASMaxDeviceDeletesPerMonth policy has no value.

The Get-ThrottlingPolicy cmdlet returns info about your current throttling policies.
Figure 1. Running Get-ThrottlingPolicy returns information about functioning ActiveSync throttling policies.

How to construct an ActiveSync throttling policy command

You can’t change any ActiveSync throttling policy values using a single cmdlet; you’ll need to pipe several commands together. To set the EASMaxConcurrency value to 100, for example, use the following two strings:

$a = Get-ThrottlingPolicy | where-object {$_.IsDefault -eq $true}
$a | Set-ThrottlingPolicy -EASMaxConcurrency 100

These commands are actually a combination of four different commands. The first command is $a = Get-ThrottlingPolicy, which takes output from the Get-ThrottlingPolicy cmdlet and assigns it to the $a variable.

After EMS assigns the $a variable, the output is piped into the second command -- Where-Object {$_.IsDefault –eq $true}. This command acquires the default throttling policy.

If you choose to create multiple throttling policies, the Get-ThrottlingPolicy cmdlet will return information for all of them. In this example, we need to make sure only the desired throttling policy is selected. Since the only throttling policy that exists in this example is the default one, we don’t need to specify a policy by name. If multiple throttling policies were in use, the command would filter out contents of the $a variable and leave only the default throttling policy.

If we used the $a command by itself, it would display the default throttling policy. Instead, we're piping this command into the fourth command -- Set-ThrottlingPolicy –EASMaxConcurrency 100. This is the command that actually modifies the throttling policy.

EMS doesn't confirm that the operation was successful, so you'll have to issue the Get-ThrottlingPolicy command again to verify that (Figure 2).

Reissue the Get-ThrottlingPolicy command to verify that your change occurred.
Figure 2. To verify that you have successfully modified the throttling policy, issue the Get-Throttling policy command twice.

To modify any other ActiveSync throttling policy settings, simply replace EASMaxConcurrency with the name of the policy setting you want to modify and then append the value you want to assign.

Brien Posey is a seven-time Microsoft MVP with two decades of IT experience. Before becoming a freelance technical writer, Brien worked as a CIO for a national chain of hospitals and healthcare facilities. He has also served as a network administrator for some of the nation’s largest insurance companies and for the Department of Defense at Fort Knox.

Dig Deeper on Exchange Server setup and troubleshooting