1
votes

I´m interested in getting a specific users mailbox statistics in Exchange 2010. The purpose is to gather details about a support mailbox and the support team performance.

In my case I'd like to try and get the:

  1. number of received and sent mails last 24 hrs
  2. number of mails added to subfolder last 24 hrs
  3. average time emails spend in Inbox
  4. average time emails spend being unread

I know how to get the first part of #2 and export it to a file based on the current date, but have no idea how to limit the time frame to the last 24 hrs:

$date = (Get-Date).toString(‘yyyy-MM-dd’)
Get-MailboxFolderStatistics "username" | sort-object itemsinfolder -descending | ft Folder, FolderPath, ItemsInFolder, FolderSize -auto | export-csv -path $date.csv

Some statistics might not be supported, but I'd very much like some help with what is possible.

1
I found a solution to item number 1. See the following link, comment from Dan Ball @ 12 Nov 2009 09:45 AM link to powershellcommunity.comSkuli Axelson
The above link does not work @Skuli AxelsonSMPLGRP

1 Answers

0
votes

I don't believe you're going to get all the stats you're wanting with get-mailboxstatistics. You're going to have to go into that mailbox and start examining emails.

I'd start with Glen Scales blog:

http://gsexdev.blogspot.com/

and research usint the EWS managed API with Powershell. The "Modified" property on an email should reflect the last time it was moved within the mailbox. You can determine which emails have or haven't been read from the item properties, but I don't know of a property that records when they were read so you may need to run the script periodically to monitor for which ones have been read since the last time it checked.