Exchange 2010 SP1 and Blackberry Enterprise Server (BES)
Many will be upgrading to Exchange 2010 SP1 soon. Many of you also have Blackberry Enterprise Server. RIM has provided a pre-installation guide for Exchange 2010 here. I wanted to touch on one of these pre-installation steps. This is where we increase the maximum number of connections to the Address Book service. The specific guide for this step is located here. As you can see, you have to go into the following file “microsoft.exchange.addressbook.service.exe.config” and set MaxSessionsPerUser to 100000.
Note: Blackberry now has full support for Exchange 2010 SP1 as of 10/12/2010. RIM retroactively modified their September 29th document to have full support when the same September 29th document previously only had Exchange 2010 SP1 listed with limited support. Please see the following document for support guidance which includes versioning information as well as a support KB article on supporting BES with Exchange 2010 SP1: http://na.blackberry.com/eng/support/software/server_exchange_ver_sept_29_10.pdf
In Exchange 2010 SP1, MaxSessionsPerUser does not exist anymore. You can take a look at an Exchange 2010 SP1 “microsoft.exchange.addressbook.service.exe.config” file below:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | <?xml version="1.0" encoding="utf-8" ?> <configuration> <runtime> <gcServer enabled="true" /> <generatePublisherEvidence enabled="false"/> </runtime> <appSettings> <add key="NspiEndpointEnabled" value="true" /> <add key="RfrEndpointEnabled" value="true" /> <!-- Set port to an empty string to disable ncacn_ip_tcp. --> <!-- Set the port to 0 to allow the server to assign a port number dynamically. --> <add key="RpcTcpPort" value="0" /> <!-- Set port to an empty string to disable ncacn_http for the specific interface --> <!-- Standard port assignments: Nspi=6004, Rfr=6002 --> <add key="NspiHttpPort" value="6004" /> <add key="RfrHttpPort" value="6002" /> <!-- Enables and disables the logging for the address book service. --> <add key="ProtocolLoggingEnabled" value="true" /> <!-- Specifies the folder in which log files will be generated. --> <add key="LogFilePath" value="D:\Program Files\Microsoft\Exchange Server\V14\Logging\AddressBook Service\" /> <!-- Specifies the max size that a single log file can grow to before a new one is generated. --> <add key="PerFileMaxSize" value="10MB" /> <!-- Specifies the max size that the entire directory of logs can grow to before the oldest log is deleted. --> <add key="MaxDirectorySize" value="1GB" /> <!-- Specifies length of time in hours log files will be retained before being deleted. --> <add key="MaxRetentionPeriod" value="720" /> <!-- Specifies if we need to switch log file each hour. --> <add key="ApplyHourPrecision" value="true" /> </appSettings> </configuration> |
So the big question here is, what do we do? What do we need to make sure of prior to upgrading to Exchange 2010 SP1 to ensure the BESAdmin account does not have issues connecting to the Address Book Service? Well, the reason why there is no more MaxSessionsPerUser is that the throttling mechanism was moved to the Throttling Policies and is shared with the RPC Client Access Service which uses the RCA* parameters in the Throttling Policies.
One of the prerequisites steps in the BES Documentation (even for RTM) is to create a Throttling Policy for the BES Admin Account. You can see that step here. Because the Address Book throttling has been moved to the Throttling Policy using the RCA* parameters instead of the “microsoft.exchange.addressbook.service.exe.config” we will want to take a look at the throttling policy we created for the BESAdmin account and make sure the RCA* parameters are set to $null.
Run the following command on Exchange 2010 to check the throttling policy:
We will see results as such:

As we can see, the RCA* parameters are set to $null which means we will be safe upgrading to Exchange 2010 SP1. If these parameters are not set to $null, set them to $null. This can be done by running the following command:
If you are doing a greenfield deployment of BES and need to create a new Throttling Policy with all of the options and then assign the BES Mailbox (assuming the mailbox is BESAdmin), run the following commands:
- New-ThrottlingPolicy BESPolicy
- Set-ThrottlingPolicy BESPolicy -RCAMaxConcurrency $null -RCAPercentTimeInAD $null -RCAPercentTimeInCAS $null -RCAPercentTimeInMailboxRPC $null -EWSMaxConcurrency $null -EWSPercentTimeInAD $null -EWSPercentTimeInCAS $null -EWSPercentTimeInMailboxRPC $null -EWSMaxSubscriptions $null -EWSFastSearchTimeoutInSeconds $null -EWSFindCountLimit $null
- Set-Mailbox “BESAdmin” -ThrottlingPolicy BESPolicy.
Elan Shudnow :: Aug.24.2010 :: Exchange, Exchange 2010 :: 48 Comments »








