iOS 6.1 and iOS 6.1.1 Exchange problems


As you probably know. Last week´s release of iOS 6.1 causes the problems to Exchange environments and fresh update from Monday 12.2.2013 (iOS 6.1.1) doesn´t make it better, so here is the workaround, which is also presented in MS KB: http://support.microsoft.com/kb/2814847/en-us?sd=rss&spid=13965

I prefer to use method 2. Throttling policy. The advantage is, that users still can use their cell phones, but with reduced affect of iOS to Exchange.

Symptoms

Increasing of log size 3GB/hour/database, Increased Store usage statistics for selected users, icreased CPU/ memory usage on affected mailbox servers.

Solution

On affected database you can check which user is causing highest load by issuing the following command (with export to text file). The top consumer is on top of the list.

Get-StoreUsageStatistics -Database <DBIdentity> | select displayname, timeinserver,digestcategory,logrecordcount,logrecordbytes | sort logrecordbytes -descending > d:\MDB1.txt

And inside the file you will see result similar to this one, where LogRecordBytes and tiTimeInServer are most important for you. From example below it is real value of 450MB written to logs by SINGLE user in past 10 minutes.

DisplayName    : Inbox - Unreal name
TimeInServer   : 42558
DigestCategory : LogBytes
LogRecordCount : 261793
LogRecordBytes : 448328508
  1. Gather the list of users having iOS devices by the following command:
    $x = Get-ActiveSyncDevice | where {$_.DeviceOS -like "iOS 6.1 *" -or $_.DeviceOS -like "iOS 6.1.1 *"}
  2. Export  to CSV
    $x |export-csv .\iOS61.csv -encoding unicode
  3. Create new throttling policy for temporary purpose
  4. Make sure that setting of your temporary policy reflects your Exchange and user needs (the best way to do is to take settings of your mostly used default or custom throttling policy and edit EAS* parameters according to Microsoft recommendation. In my case it is:
    New-ThrottlingPolicy -Name "iOS 6.1 temp" -EASPercentTimeInAD 10 -EASPercentTimeInCAS 10 -EASPercentTimeInMailboxRPC 10 -AnonymousMaxConcurrency 1 -EASMaxConcurrency 10 -EASMaxDevices 10 -EWSMaxConcurrency 10 -EWSPercentTimeInAD 50 -EWSPercentTimeInCAS 90 -EWSPercentTimeInMailboxRPC 60 -EWSMaxSubscriptions 5000 -EWSFastSearchTimeoutInSeconds 60 -EWSFindCountLimit 1000 -OWAMaxConcurrency 5 -OWAPercentTimeInAD  30 -OWAPercentTimeInCAS  150 -OWAPercentTimeInMailboxRPC 150 -POPMaxConcurrency 20 -PowerShellMaxConcurrency 18 -RCAMaxConcurrency 20 -RCAPercentTimeInAD 5 -RCAPercentTimeInCAS 205 -RCAPercentTimeInMailboxRPC 200 -CPAMaxConcurrency 20 -CPAPercentTimeInCAS 205 -CPAPercentTimeInMailboxRPC 200 -CPUStartPercent 75
  5. Apply Throttling policy
    Import-Csv .\iOS61.csv | foreach {Set-ThrottlingPolicyAssociation -Identity "$($_.UserDisplayName)" -ThrottlingPolicy "iOS 6.1 temp"}
    or (with limitation to only mailboxes 🙂 )
    Import-Csv .\iOS61.csv | foreach {Set-Mailbox -Identity "$($_.UserDisplayName)" -ThrottlingPolicy  "iOS 6.1 temp"}
  6. Check if correct throttling policy association is in place

Reverting back

And after device is upgraded, you can assign user the default policy by command:

get-mailbox <identity> | Set-ThrottlingPolicyAssociation -ThrottlingPolicy $null
get-mailbox <identity> | Get-ThrottlingPolicyAssociation 
Advertisements

One thought on “iOS 6.1 and iOS 6.1.1 Exchange problems

  1. Pingback: iOS 6.1.2 released! – Exchange problems solved? | FICILITY.NET

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s