Powershell Exchange Message Per Day Sent and Reveive

Powershell Exchange Message Per Day Sent and Reveive

# Initialize some variables used for counting and for output
Get-Date -UFormat "%Y-%m-%d-%H-%M" >>Per-day_recive.txt

$Account="wendychen"
[Int64] $intSent = $intRec = 0
[Int64] $intSentSize = $intRecSize = 0
[String] $strEmails = $null

$times=Import-CSV "d:\LOGTime.csv"
foreach ($time in $times) 
{ 
    # Start building the variable that will hold the information for the day  
 $starttime=$time.starttime
 $endtime=$time.endtime
 echo $starttime $endtime ssss
    $intSent = $intRec = 0 
    (Get-TransportServer -Identity wendy-*) | Get-MessageTrackingLog -ResultSize Unlimited -Recipients "$Account" -Start "$starttime" -End "$endtime" | ForEach { 
        # Sent E-mail
        If ($_.EventId -eq "RECEIVE" -and $_.Source -eq "STOREDRIVER")
        {
            $intSent++
            $intSentSize += $_.TotalBytes
        }
         
        # Received E-mails 
        If ($_.EventId -eq "DELIVER")
        {
            $intRec++
            $intRecSize += $_.TotalBytes
        }
                       } 
 
    $intSentSize = [Math]::Round($intSentSize/1MB, 0)
    $intRecSize = [Math]::Round($intRecSize/1MB, 0)

$DataBase = Get-Mailbox -Identity $Account |Get-MailboxStatistics

        Write-Host "$Account,`nintSentSize=$intSentSize,`nReciveSize=$intRecSize" -ForegroundColor Yellow
    $DataBase.DisplayName,$DataBase.DataBaseName,$starttime,$endtime,$intRecSize,$intSentSize -join ";">>d:\"$Account"-Per-day_recive.csv
    
} 

 

posted @ 2017-06-29 18:28  寻香径  阅读(313)  评论(0编辑  收藏  举报