Tuesday 23 November 2021

How much emails sent by each user in exchange server 2016

I used the following command to generate a report, have count of the number of emails sent by each user.

Note: it also had the email sent by external users (hotmail.com/gmail.com) so i had to remove those send from the report and leave only the internal users. 


Get-transportservice | Get-MessageTrackingLog -Start (Get-Date).adddays(-1) -EventId "send" -ResultSize unlimited | Group-Object sender | ft name, count >c:\path\AllSendcount.csv

Or you we can use the following command so only email sent by a specific domain's users will exported

Get-TransportServer | Get-MessageTrackingLog -ResultSize unlimited | where{$_.sender -like "*@domain.com"} | Group-Object -Property Sender | Select-Object name,count | sort count -desc | ft -auto >c:\path\EmailCount23Nov21.csv


To get number of emails in last one day or hour

(get-TransportServer | Get-MessageTrackingLog -Start (Get-Date).adddays(-1) -EventId "send" -ResultSize unlimited | where{$_.sender -eq "myemail@domain.com"}).count


(get-TransportServer | Get-MessageTrackingLog -Start (Get-Date).addhours(-1) -EventId "send" -ResultSize unlimited | where{$_.sender -eq "myemail@domain.com"}).count



Searching Message Tracking Logs by Sender or Recipient Email Address (practical365.com)