Determine which users have logged into Outlook Web App (OWA)

Discovering which users have logged into Outlook Web App (OWA) compared to those who haven’t is a bit of a challenge in Exchange Online and Exchange Server 2013/2016. One method is to make use of the fact that prior to first login, a user won’t have selected their language. Using this piece of knowledge allows us to perform a (somewhat rudimentary) evaluation of which users probably have logged into OWA.

Connect to Exchange PowerShell and run the following:

Get-Mailbox -ResultSize:unlimited | Get-MailboxRegionalConfiguration

Easy! This will show you each mailbox and by evaluating the “Language” value for each, you can determine if a user’s logged into OWA or not. Let’s make it even easier:

The really easy way

# Show me all the mailboxes that have probably not logged into OWA
Get-Mailbox -ResultSize:unlimited | Get-MailboxRegionalConfiguration | Where-Object {$null -eq $_.Language}# Tell me how many people have logged into OWA versus those who haven't (Those with a language will have a value, blanks have not logged in)
Get-Mailbox -ResultSize:unlimited | Get-MailboxRegionalConfiguration | Group-Object Language

You'll note several occurrences of "probably" in this post. This is because some lovely Exchange Server admins like to preset regional settings for users as part of user deployment. This is a wonderful idea, and I strongly encourage it. Unfortunately, however, it breaks everything discussed above.