Apple iOS 6.1 issues with Exchange Server
Microsoft released a kb detailing issues with Apple iOS 6.1 and Exchange server high transaction log growth.
Rapid growth in transaction logs, CPU use, and memory consumption in Exchange Server 2010 when a user syncs a mailbox by using an iOS 6.1-based device: http://support.microsoft.com/kb/2814847
This has been an issue since last week and the only solution that worked for me was to remove the device partnership for the user.
To know details on which OS the user is running, run the cmdlet:
Get-ActiveSyncDeviceStatistics -Mailbox username |fl
FirstSyncTime : 12/2/2012 10:48:04 PM
LastPolicyUpdateTime : 2/12/2013 12:23:29 PM
LastSyncAttemptTime : 2/12/2013 1:37:16 PM
LastSuccessSync : 2/12/2013 1:37:17 PM
DeviceType : iPhone
DeviceID : ApplDNTJxxxFGSED
DeviceUserAgent : Apple-iPhone5C1/1002.143
DeviceWipeSentTime :
DeviceWipeRequestTime :
DeviceWipeAckTime :
LastPingHeartbeat : 1009
RecoveryPassword : ********
DeviceModel : iPhone5C1
DeviceIMEI :
DeviceFriendlyName : White iPhone 5
DeviceOS : iOS 6.1 10B143
DeviceOSLanguage : en
DevicePhoneNumber :
Identity : user@domain.com\AirSync-iPhone–ApplDNTJxxxFGSED
To get results for all users, let’s use the cmdlet and filter using excel:
Get-CASMailbox -ResultSize unlimited -filter {HasActivesyncDevicePartnership -eq $True} | % {Get-ActiveSyncDeviceStatistics -Mailbox $_.identity} | Select-Object Identity, DeviceOS, DeviceType, DeviceID, DeviceUserAgent, LastSuccessSync | Export-Csv “C:\All_Users_EAS_Feb_2013.csv”
If you need to find all users running iOS 6.1, use the cmdlet:
Get-CASMailbox -ResultSize unlimited -filter {HasActivesyncDevicePartnership -eq $True} | % {Get-ActiveSyncDeviceStatistics -Mailbox $_.identity |where {$_.DeviceOS -match “6.1”}} | Select-Object Identity, DeviceOS, DeviceType, DeviceID, DeviceUserAgent, LastSuccessSync | Export-Csv “C:\All_Users_EAS_Feb_2013.csv”
Once we have the output, we should send a notification to all iOS users instructing them not to update their mobile devices.
Now we either have an option to remove mobile device partnership for users or block all iOS 6.1 connections to Exchange using the Allow/Block/Quarantine list method detailed here:
Controlling Exchange ActiveSync device access using the Allow/Block/Quarantine list: http://blogs.technet.com/b/exchange/archive/2010/11/15/3411539.aspx
########UPDATE##########
Apple has acknowledged the issue and released an update this morning;
iOS 6.1: Excess Exchange activity after accepting an exception to recurring calendar event: http://support.apple.com/kb/TS4532
The solution they are qouting is to remove and re-add calendar from the device but for me, I would remove the partnership from the server and resync as MS KB suggests.
Another update is that – the iOS 6.1.1 released WILL NOT resolve this issues and only meant for some cellular and 3G issues with Vodafone network !!!
Ratish Nair
MVP Exchange
Team @MSExchangeGuru.com
February 12th, 2013 at 9:12 am
Hi,
when I run your PS commands I get this error.
“Pipeline not executed because a pipeline is already executing. Pipelines cannot be executed concurrently.”
Any idea why?
//johan
February 12th, 2013 at 1:09 pm
Your CMDlet for finding all iOS 6.1 users does not work.
February 13th, 2013 at 8:01 am
At the Apple web support
iOS 6.1: Excess Exchange activity after accepting an exception to recurring calendar event
https://support.apple.com/kb/TS4532
February 13th, 2013 at 8:55 am
Well it works for me… whats the error you getting?
You need to run it from Exchange management shell and if you have e2010 users and E2007 users, run it separately from respective servers
February 13th, 2013 at 9:02 am
“Pipeline not executed because a pipeline is already executing. Pipelines cannot be executed concurrently.”
This is the error I´m getting.
//johan
February 13th, 2013 at 9:03 am
Oh I got it now…
When you copy the cmdlet a “?” comes next to 6.1 – some issue with wordpress I guess:
Get-CASMailbox -ResultSize unlimited -filter {HasActivesyncDevicePartnership -eq $True} | % {Get-ActiveSyncDeviceStatistics -Mailbox $_.identity |where {$_.DeviceOS -match “6.1″}} | Select-Object Identity, DeviceOS, DeviceType, DeviceID, DeviceUserAgent, LastSuccessSync | Export-Csv “C:\All_Users_EAS_Feb_2013.csv”
Just make sure the string looks like this:
where {$_.DeviceOS -match “6.1″}}
February 13th, 2013 at 9:12 am
Great, now I saw the Error when I cut-and-pasted.
Works fine now! Thanks you for a great PS-line!
//johan
February 13th, 2013 at 5:36 pm
Great script thanks!
February 14th, 2013 at 7:16 pm
I also receive the error when running the commands listed above:
“Pipeline not executed because a pipeline is already executing. Pipelines cannot be executed concurrently.”
I manually typed the above out too. Apparently the command is being processed too quickly before some results are returned, so it needs a sleep command in there. Any ideas where that would go?
Results still get sent to CSV but not sure if it is missing any. Am running Exchange 2010 SP2 with RU2.