Quantcast
Channel: PowerShell.com – PowerShell Scripts, Tips, Forums, and Resources
Viewing all articles
Browse latest Browse all 6937

Formatting HTML output in Email Server Uptime Report

$
0
0

I like to format my HTML output and seems to be different if I run script and output the HTML file to file vs  adding the HTML file to the body of my email , when I ad it to email it changes color of the table borders and add this to the upper left of the Server Name field.

<="" p="">

Server Name

UpTime

Here is my script

 

$a = @"
<style>
TD{font-size:16pt}
</style>
"@

  #Html Page
                $now=get-date
                $table="<HTML><HEAD><TITLE>Server Uptime Page</TITLE></HEAD><BODY><p align=Center><font size=6 face=Bodoni MT color=#003333><B>Server UpTime Report</B></font></p>"
                $table += "<p align=Center><font face=Bodoni MT color=Green size=3>Last pulled : $now CST</font></P>"
                $table +="<p align=Center><table BORDER=1 width=500 cellspacing=0 cellpadding=3 </P>"
                $table +="<tr>"
                $table +="<th bgcolor=#DFFFFF colspan=1 width=300><p align=center><b><font face=Verdana size=5 color=#000000>Server Name</font></b></p></th>"
                $table +="<th bgcolor=#DFFFFF colspan=1 width=200><p align=center><b><font face=Verdana size=5 color=#000000>UpTime</font></b></p></th>"
                $table +="</tr>"
        
  $nNeedToReboot=0
                $nServerList=0
                $more100=""
                $bw75100=""
                $bw5075=""
                $bw3050=""
                $bw029=""
                $ErrorSvr=""
                $svrlist =get-content C:\Temp\Servers.txt  ##Source File

                $LastUpdatedSvrList=(dir C:\Temp\Servers.txt).lastwritetime
                foreach($svr in $svrlist)
                    {
                        if($svr -ne ""){
                        $nServerList++
                        $uptime=-1
                        $lastreboot=-1
                        $wmi=$null
                        #Write-Host "Server is $svr"
                        $wmi = Get-WmiObject -Class Win32_OperatingSystem -Computer $svr
                        $lastreboot=$wmi.ConvertToDateTime($wmi.LastBootUpTime)
                        $uptime=($now-$lastreboot).days
                        $Svr+" : "+$uptime+" : "+$lastreboot
                            if($uptime -gt 99){
                                $nNeedToReboot++
                                $more100 += "<tr bgcolor='#FF0000'><td>"+$svr+"</td><td align=center>"+$uptime+"</td></tr>"
                                #Write-Host "$svr  $uptime"
                            }
                            if($uptime -gt 74 -AND $uptime -lt 100){
                                $nNeedToReboot++
                                $bw75100 += "<tr bgcolor='#E42217' ><td>"+$svr+"</td><td align=center>"+$uptime+"</td></tr>"
                                #Write-Host "$svr  $uptime"
                            }
                            if($uptime -gt 49 -AND $uptime -lt 75){
                                $nNeedToReboot++
                                $bw5075 += "<tr bgcolor='#C11B17'><td>"+$svr+"</td><td align=center>"+$uptime+"</td></tr>"
                                #Write-Host "$svr  $uptime"
                            }
                            if($uptime -gt 29 -AND $uptime -lt 50){
                                $nNeedToReboot++
                                $bw3050 += "<tr bgcolor='#DC381F'><td>"+$svr+"</td><td align=center>"+$uptime+"</td></tr>"
                                #Write-Host "$svr  $uptime"
                            }
                            if($uptime -gt -1 -AND $uptime -lt 30){            
                                $bw029 += "<tr bgcolor='#6CBB3C'><td>"+$svr+"</td><td align=center>"+$uptime+"</td></tr>"
                                #Write-Host "$svr  $uptime"
                            }
                            if($uptime -eq -1 -OR $lastreboot -eq -1){
               
                                $ErrorSvr += "<tr bgcolor='#FF0000'><td>"+$svr+"</td><td align=center>Error connection</td></tr>"
                                #Write-Host "$svr  $uptime"
                            }
                    }
                    }
                    $table += $more100+$bw75100+$bw5075+$bw3050+$bw029+$ErrorSvr
                $table+="</table>"
                $table +="<font size=4 face=Bodoni MT color=#003333><B>Servers in List : </B></font>$nServerList<br>"
                $table +="<font size=4 face=Bodoni MT color=#003333><B>Servers Need to be Rebooted : </B></font>$nNeedToReboot<br>"
  
                $table | ConvertTo-HTML -head $a | Out-File C:\Temp\Uptime.html

              #  Exit

        # $body = Get-Content -Path "C:\Temp\Uptime.html" -Raw

  Send-MailMessage @smtpsettings -Body $table -BodyAsHTML


Viewing all articles
Browse latest Browse all 6937

Trending Articles