The PowerShell script Get-Diskspace.ps1 uses a pretty basic inline CSS approach to generate a more nicely html email from a PowerShell output.
You can use the following description for your own PowerShell script.
First a new html block is configured and the inline CSS is embedded into the head tag.
# Some CSS to get a pretty report# Variable containing the inline CSS and the full html head tag$head = @'$($ReportTitle) '@
The recurring data content is added to a global varibale using the -Fragment attribute. This ensures that no full html document data is being created.
$global:Html += $wmi | ConvertTo-Html -Fragment -PreContent "Server $($ServerName)
"
Before sending the html result the full body html is generated by combinding the html fragments and the manually defined html head.
[string]$Body = ConvertTo-Html -Body $global:Html -Title "Status" -Head $headSend-Mail -From $MailFrom -To $MailTo -SmtpServer $MailServer -MessageBody $Body -Subject $ReportTitle
Enjoy.