Tuesday 2 September 2014

Exchange Availability Report

Add-PSSnapin *exchange*
$report1 = "C:\dailyreports\Test.availability\Test.availability.htm"
Clear-Content $report1
Add-Content $report1 "<html>"
Add-Content $report1 "<head>"
Add-Content $report1 "<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'>"
Add-Content $report1 '<title>Availability report for Exchange servers</title>'
add-content $report1 '<STYLE TYPE="text/css">'
add-content $report1  "<!--"
add-content $report1  "td {"
add-content $report1  "font-family: Tahoma;"
add-content $report1  "font-size: 11px;"
add-content $report1  "border-top: 1px solid #999999;"
add-content $report1  "border-right: 1px solid #999999;"
add-content $report1  "border-bottom: 1px solid #999999;"
add-content $report1  "border-left: 1px solid #999999;"
add-content $report1  "padding-top: 0px;"
add-content $report1  "padding-right: 0px;"
add-content $report1  "padding-bottom: 0px;"
add-content $report1  "padding-left: 0px;"
add-content $report1  "}"
add-content $report1  "body {"
add-content $report1  "margin-left: 5px;"
add-content $report1  "margin-top: 5px;"
add-content $report1  "margin-right: 0px;"
add-content $report1  "margin-bottom: 10px;"
add-content $report1  ""
add-content $report1  "table {"
add-content $report1  "border: thin solid #000000;"
add-content $report1  "}"
add-content $report1  "-->"
add-content $report1  "</style>"
Add-Content $report1 "</head>"
Add-Content $report1 "<body>"
add-content $report1 "<table width='100%'>"
add-content $report1  "<tr bgcolor='#CCCCCC'>"
add-content $report1  "<td colspan='7' height='25' align='center'>"
add-content $report1  "<font face='tahoma' color='#003399' size='4'><strong>Server Name</strong></font></td></tr></table>"
add-content $report1  "<table width='100%'>"
Add-Content $report1 "<tr bgcolor=#CCCCCC>"
Add-Content $report1  "<td width='10%' align='center'>ServerName</td>"
Add-Content $report1  "<td width='10%' align='center'>Timegenerated</td>"
Add-Content $report1 "<td width='10%' align='center'>EventId</td>"

Add-Content $report1 "</tr>"

$all = (get-eventlog System -ComputerName TestExchSvr -After 7/1/2014 | Where-Object {($_.eventid -eq "6005") -or ($_.eventid -eq "6006")})

Set-ADServerSettings -ViewEntireForest $True
foreach ($a in $all)
  { 

$Machinename=$a.Machinename
$Time=$a.timegenerated
$EventId=$A.eventId
      
Add-Content $report1 "<td align=center width='20%' align='center' bgcolor='#00FF00'>$Machinename</td>"
Add-Content $report1 "<td align=center width='20%' align='center' bgcolor='#00FF00'>$Time</td>"
Add-Content $report1 "<td align=center width='20%' align='center' bgcolor='#00FF00'>$EventId</td>"

Add-Content $report1 "</tr>"

}

Add-Content $report1 "</table>"

Add-Content $report1 "</body></html>"

$from = "exchangemonitoring@testsvr.com"
$to = "vishwajeet.sharma@testsvr.com"
$subject = "Availability Report- Exchange Servers"
$body = Get-Content $report1
$smtp= New-Object System.Net.Mail.SmtpClient 
$msg = New-Object System.Net.Mail.MailMessage $from, $to, $subject, $body
$msg.isBodyhtml = $true
$smtp.Host = "192.168.1.3"
$smtp.send($msg)
exit 0