Forum Discussion
Exporting list of Outlook client versions
Hi All,
I need to export an inventory of outlook client versions used by our end users. Can some one please advice?
i tried using Get-ConnectionByClientTypeDetailReport but it doesnot give Outlook versions.
Go to the O365 admin portal -> Reports -> Usage -> Email app usage -> press the Export button. No way to get this report via PowerShell afaik (Anne Michels might prove me wrong here).
If you need even more details compared to what's shown in the report, down to the individual build number, you will have to browse the Audit logs and get the relevant data from them.
8 Replies
- dolgatorawnieCopper Contributor
If you want to get Outlook client versions:
Manual method
Check each user’s Outlook via File → Office Account → About Outlook.
Or collect versions directly from users.
Note: This works for small setups but is slow for large organizations.For larger setups, you can use Exchange Online PowerShell to get mailbox connection data, or tools that back up mailboxes. For example, you can back up mailboxes and review email headers for client info — it’s safer than manually checking every machine.
Bulk / Automated
For larger environments, you can use https://www.recoverytools.com/backup/office365/ by RecoveryTools. While it doesn’t directly report Outlook versions, it can back up mailboxes and let you review email headers and metadata, which sometimes include client info.
More details on safely exporting and managing emails can be found here: Email Backup Wizard Blog
https://emailbackupwizard.com/blog/extract-email-addresses-from-outlook-365/?
Go to the O365 admin portal -> Reports -> Usage -> Email app usage -> press the Export button. No way to get this report via PowerShell afaik (Anne Michels might prove me wrong here).
If you need even more details compared to what's shown in the report, down to the individual build number, you will have to browse the Audit logs and get the relevant data from them.
- Anne MichelsFormer Employee
Thanks, Vasil.
Please use the export button as described by Vasil to export any data from the usage reports at this point.
In spring 2017, we will make new reporting APIs available that will allow you to programmatically access the information from the usage reports. Going forward, please use the APIs as the new usage reports will not be accompanied by PowerShell cmdlets.
Thanks,
Anne
- Michelle PorrecaIron Contributor
This shows licenses, but not user versions. Like it won't show you if the user is running Office 2013 or Office 2016. That is what would be beneficial - to show what client version the user has installed.
Use the below EXO PowerShell script, here we use Search-MailboxAuditLog which has the client information. This method needs auditing to be enabled on all mailboxes and will be slower due to the audit log search.
$UserCredential = Get-Credential $Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $UserCredential -Authentication Basic- AllowRedirection Import-PSSession $Session $mailboxs = Get-MailBox $mailboxs | Foreach-Object{ $mailbox=$_ Search-MailboxAuditLog -StartDate ([system.DateTime]::Now.AddDays(-2)) -EndDate ([system.DateTime]::Now.AddDays(+1)) -Operations MailboxLogin -Identity $mailbox.UserPrincipalName -ShowDetails|where-object{$_.ClientInfoString-like "*Client=Microsoft.Exchange.Mapi;*" -or $_.ClientInfoString -like "*Client=Microsoft.Exchange..Autodiscover;*" } |select LogonUserDisplayName,ClientInfoString,LastAccessed,ClientIPAddress -First 1 |fl }
Below is the sample output for a user.