I have a script that imports a csv file of six different servers to check the status of services for a particular application and emails a report each morning with service status (i.e. Running or Stopped). Here is the script. How would I highlight in red, the word "Stopped", for status in the email?
$CSVData = import-csv "C:\Scripts\Service.csv"
$Servernames = $CSVData.Servername | sort -unique
$output = @()
#$Cred = Get-Credential
foreach ($Server in $Servernames) {
$Services = $CSVData | Where {$_.Servername -eq $Server} | Select service
foreach ($Service in $Services) {
write-host $Server
$Serv = $Service.Service
#$ServStat = Get-WMIObject -computer $server -credential $cred -Query "Select * From Win32_Service WHERE Name Like '$Serv'" | select displayname, state
$ServStat = Get-WMIObject -Computer $Server -Query "Select * From Win32_Service WHERE DisplayName Like '$Serv'" | select displayname, state
$Info = New-object -Typename PSObject
$Info | Add-Member -MemberType NoteProperty -Name "Hostname" -value $Server
$Info | Add-Member -MemberType NoteProperty -Name "ServiceName" -value $ServStat.displayname
$Info | Add-Member -MemberType NoteProperty -Name "ServiceStatus" -value $ServStat.state
$Output +=$Info
}
}
# $Output | export-csv "C:\Scripts\Result.csv" -notype
$style = "<style>BODY{font-family: Arial; font-size: 10pt;}"
$style = $style + "TABLE{border: 1px solid black; border-collapse: collapse;}"
$style = $style + "TH{border: 1px solid black; background: #dddddd; padding: 5px; }"
$style = $style + "TD{border: 1px solid black; padding: 5px; }"
$style = $style + "</style>"
$mail = @{
from = "Application Name@company.org"
to = "Name@company.org"
subject = "Application Services Status Report - $(get-date -format MM-dd-yyyy)"
body = $Output | ConvertTo-Html -Head $style | Out-String
bodyashtml = $true
smtpserver = "[smtp server name]"
port = 25
}
Send-MailMessage @mail