Forum Discussion
Exchange Online Unread Email Report
It's a bit tricky, but if you know the details of a message you can get the "unread" status by using the Search-Mailbox cmdlet. You will need permissions first (at minimum the MailboxSearch role assigned). Here's an example of the cmdlet:
Search-Mailbox vasil -SearchQuery "Subject:blabla AND received<=07/10/2015" -LogOnly -LogLevel Full -TargetMailbox shared -TargetFolder eDiscovery
Here I provide a subject and relative date, you can adjust it as per your scenario. The LogOnly parameter makes sure messages are not copied, only log information is gathered, and the LogLevel Full gives us the Read status, amongh other things. TargetMailbox/TargetFolder is where the log file will be saved.
Now, that's an example with single mailbox/recipient, you can search multiple ones by feeding them to the Search-Mailbox cmdlet. Once you run the cmdlet, go to the TargetMailbox and open the attached CSV file to get the status.