Have you ever wondered what the size distribution of e-mails in your organization is?
The following script will go through every e-mail received by Exchange and group the results according to the distribution size you want:
[Int64] $5KB, $10KB, $25KB, $50KB, $100KB, $256KB, $512KB = $1MB = $2MB = $5MB = $10MB = $15MB = $20MB = $30MB = $big = 0
Get-TransportServer | Get-MessageTrackingLog -ResultSize Unlimited -Start “07/03/2012” -EventID RECEIVE | ? {$_.Source -eq “STOREDRIVER”} | Select TotalBytes | ForEach {
If ($_.TotalBytes -lt 5KB) { $5KB++ }
If ($_.TotalBytes -ge 5KB -and $_.TotalBytes -lt 10KB) { $10KB++ }
If ($_.TotalBytes -ge 10KB -and $_.TotalBytes -lt 25KB) { $25KB++ }
If ($_.TotalBytes -ge 25KB -and $_.TotalBytes -lt 50KB) { $50KB++ }
If ($_.TotalBytes -ge 50KB -and $_.TotalBytes -lt 100KB) { $100KB++ }
If ($_.TotalBytes -ge 100KB -and $_.TotalBytes -lt 256KB) { $256KB++ }
If ($_.TotalBytes -ge 256KB -and $_.TotalBytes -lt 512KB) { $512KB++ }
If ($_.TotalBytes -ge 512KB -and $_.TotalBytes -lt 1MB) { $1MB++ }
If ($_.TotalBytes -ge 1MB -and $_.TotalBytes -lt 2MB) { $2MB++ }
If ($_.TotalBytes -ge 2MB -and $_.TotalBytes -lt 5MB) { $5MB++ }
If ($_.TotalBytes -ge 5MB -and $_.TotalBytes -lt 10MB) { $10MB++ }
If ($_.TotalBytes -ge 10MB -and $_.TotalBytes -lt 15MB) { $15MB++ }
If ($_.TotalBytes -ge 15MB -and $_.TotalBytes -lt 20MB) { $20MB++ }
If ($_.TotalBytes -ge 20MB -and $_.TotalBytes -lt 30MB) { $30MB++ }
If ($_.TotalBytes -ge 30MB) { $big++ }
}
Write-Host “`n”
Write-Host “Less than 5KB: $5KB”
Write-Host “Between 5KB and 10KB: $10KB”
Write-Host “Between 10KB and 25KB: $25KB”
Write-Host “Between 25KB and 50KB: $50KB”
Write-Host “Between 50KB and 100KB: $100KB”
Write-Host “Between 100KB and 256KB: $256KB”
Write-Host “Between 256KB and 512KB: $512KB”
Write-Host “Between 512KB and 1MB: $1MB”
Write-Host “Between 1MB and 2MB: $2MB”
Write-Host “Between 2MB and 5MB: $5MB”
Write-Host “Between 5MB and 10MB: $10MB”
Write-Host “Between 10MB and 15MB: $15MB”
Write-Host “Between 15MB and 20MB: $20MB”
Write-Host “Between 20MB and 30MB: $30MB”
Write-Host “Greater than 30MB: $big”
Once it finishes, you will end up with an output similar to the one below showing how many e-mail fall into each category:
Less than 5KB: 1883
Between 5KB and 10KB: 53513
Between 10KB and 25KB: 116001
Between 25KB and 50KB: 32772
Between 50KB and 100KB: 13715
Between 100KB and 256KB: 8202
Between 256KB and 512KB: 4318
Between 512KB and 1MB: 3011
Between 1MB and 2MB: 2209
Between 2MB and 5MB: 1452
Between 5MB and 10MB: 495
Between 10MB and 15MB: 122
Between 15MB and 20MB: 60
Between 20MB and 30MB: 38
Greater than 30MB: 1