Outlook Mobile Ceasing Support for iOS 12 Soon

Outlook Prepares for the Coming of iOS14

Apple’s much-awaited release of iOS 14 is due this Fall. According to Office 365 notification MC221506 published on 4 September, a consequence of the release is that Microsoft will adjust its minimum iOS system requirements for Outlook for iOS and watchOS. Microsoft has always supported the two most recent versions of iOS, meaning that once iOS14 is available, iOS12 will no longer be a supported platform. That’s the downside. The upside from an Outlook user perspective is that Outlook can be made the default email client for iOS14.

Microsoft says that being unsupported means that devices running iOS12 “will no longer receive Office app updates.” In other words, the same lack of support extends to all the Office apps on iOS. The apps will continue working, but users won’t be able to download and install the latest versions until they move to iOS13 or iOS14. Microsoft also notes: “Over time, Outlook for iOS on iOS 12 devices will eventually stop synchronizing email and calendar data.”

Time to Track Down Old Devices

Obviously, it’s time to check if any soon-to-be-elderly iOS devices are in active use with Outlook. One way to tackle the problem is to use the mobile device information recorded by Exchange Online to identify devices running any variant of iOS 12. Once again, PowerShell is the quickest and easiest way to retrieve and analyze the data,

The Get-MobileDevice cmdlet returns a list of mobile devices known to Exchange Online. Unless you’re very good at cleaning up old device partnerships from mailboxes (here’s a useful script), the set returned will include obsolete devices, Outlook for Android, and native mobile email clients based on Exchange ActiveSync. Some filtering is needed to locate the devices we’re interested in.

Reporting Mobile Devices

Here’s an example script that finds all mobile devices and creates a report about the devices, including who owns/uses the device and the last time that it synchronized with Exchange Online (a good indicator if the device is in use). Devices running iOS12 are highlighted and displayed at the end of the script. I could have applied a filter and only wrote out details of the problem devices but decided to generate a report of all mobile devices because it might be useful at another time.

$Report = [System.Collections.Generic.List[Object]]::new() 
$Devices = Get-MobileDevice -ResultSize Unlimited 
  Write-Host "Analyzing" $Devices.Count "mobile devices"
  ForEach ($Device in $Devices) {
  $DeviceStats = Get-MobileDeviceStatistics -Identity $Device.Guid.ToString()
  $User = Get-ExoMailbox -Identity $Device.Id.Split("\")[0] -ErrorAction SilentlyContinue
  If ($User -eq $Null) {$User = "Unknown user"}
  If ($DeviceStats.LastSuccessSync -ne $Null) {
     $LastSyncTime =  Get-Date($DeviceStats.LastSuccessSync) -format g  
     $DaysSinceSync = New-TimeSpan($LastSyncTime)}
  Else {
     $LastSyncTime = "N/A"
     $DaysSinceSynce = "N/A" }
  If ($DeviceStats.DeviceOS -like "IOS 12*") {
     $Warning = "Check Device" }
  Else {
     $Warning = $Null}
  $ReportLine  = [PSCustomObject] @{          
     User              = $User.DisplayName
     UPN               = $User.UserPrincipalName
     LastSyncTime      = $LastSyncTime
     DaySinceSync      = $DaysSinceSync.Days
     DeviceType        = $DeviceStats.DeviceType  
     DeviceOS          = $DeviceStats.DeviceOS
     DeviceModel       = $DeviceStats.DeviceModel 
     DeviceUserAgent   = $DeviceStats.DeviceUserAgent 
     Status            = $DeviceStats.Status
     Warning           = $Warning }
$Report | Export-CSV -NoTypeInformation c:\temp\MobileDevices.csv
$Report.Where({$_.Warning -eq "Check Device"}) | Select User, DeviceOS, DeviceModel, LastSyncTime, DaySinceSync, DeviceUserAgent | Sort DaySinceSync | Out-GridView
Write-Host “CSV file of mobile devices written to c:\temp\MobileDevices.csv”

The iOS12 devices are displayed using the Out-GridView cmdlet (Figure 1). Apart from knowing who owns the device, the days since synchronization is the most important piece of information. Given the importance of mobile devices today, any device which hasn’t synchronized in the last month might be obsolete.

Image 1 Expand
Figure 1: Listing iOS 12 devices (image credit: Tony Redmond)

Tracking Delegate Access

Outlook mobile clients gained support for the delegate mailbox feature earlier this year. As I prepared this article, I noted that you can find out what devices are used for delegate mailboxes by looking for devices with multiple identities. After creating the $Devices array with Get-MobileDevice, I used the Group-Object cmdlet to group the array data by the device identifier and found one device used by four people. You never know when something like this might come in useful!

$Devices | Group-Object DeviceId | Format-Table Count, Name

Count Name
----- ----
    4 A02F3995932A41A4A58EDA3471A4E831

$Devices.Where({$_.DeviceId -eq "A02F3995932A41A4A58EDA3471A4E831"}) | ft id

Kim Akers\ExchangeActiveSyncDevices\Hx§Outlook§A02F3995932A41A4A58EDA3471A4E831

Preparing for iOS14

No one knows the exact date when Apple will make iOS14 generally available. It’s good to stay ahead of the game by checking if your organization has any obsolete devices. Once you know, do the right thing, and send the device owners an email to tell them that it’s time to upgrade.