Skip to content

Instantly share code, notes, and snippets.

@peterinhk
Created April 10, 2020 08:52
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save peterinhk/6237d2cced1618c9d88ad7305e2951c7 to your computer and use it in GitHub Desktop.
Save peterinhk/6237d2cced1618c9d88ad7305e2951c7 to your computer and use it in GitHub Desktop.
$services = Get-Service | Select-Object -Property MachineName,Status,Name,DisplayName | Sort-Object -Property Name
$htmlbase = $services | ConvertTo-Html -Fragment | Out-String
$xml = [xml]$htmlbase
$xml.SelectNodes("//tr/td[contains(text(),'Running')]")|ForEach-Object {$_.setattribute('class','running')}
$xml.SelectNodes("//tr/td[contains(text(),'Stopped')]")|ForEach-Object {$_.setattribute('class','stopped')}
$head=@"
<style>
body {font-family:Arial, Helvetica, sans-serif;}
table {border-collapse: collapse;}
table, th, td {border: 1px solid black; padding: 2px;}
td.running {background-color: green;}
td.stopped {background-color: red;}
</style>
"@
$messagebody = ConvertTo-Html -Head $head -Body $($xml.OuterXml.ToString()) | Out-String
Send-MailMessage -To "user@domain.com" -From "me@domain.com" -SmtpServer "<smtpServerFQDN>" -Subject "Services Report" -Body $messagebody -BodyAsHtml
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment