Here’s a script I’ve written that can be added as a scheduled task on the SCVMM server to send a daily report to selected people containing all the currently outstanding checkpoints on the Hyper-V hosts. This is done without having to store any plain text passwords (they are stored but in an encrypted format). It formats the email as HTML so that it looks a bit prettier. I could have made the HTML fancier but I wanted to keep the script simple.
|
$Header = @" <style> TABLE {font-family: "Lucida Sans Unicode", "Lucida Grande", sans-serif; border: 1px solid #FFFFFF; background-color: #FFFFFF; width: 750px; height: 100px; text-align: center; border-collapse: collapse;} TH {background: #FF0000; border-bottom: 5px solid #FFFFFF; } TD { border: 1px solid #FFFFFF;} tr:nth-child(odd) {background: #D0CFD1; padding: 3px 2px; } </style> "@
$Transpath = "C:\temp\logs\snapshot_report.log" $DateTime = (Get-Date).ToString('dd/MM/yy hh:mm:ss') $password = cat C:\scripts\securestring.txt | ConvertTo-SecureString $mycred = New-Object System.Management.Automation.PSCredential ("username",$password) $Date = Get-Date -Format "dd-MM-yyyy" $Subject = "Daily Snapshot Report from $env:computername for $Date" $Greeting = "Good morning, please find below the daily snapshot report. For any queries on this report please contact Tom K `(info`@cloudwyse.co.uk`)" $ReportText = Get-SCVirtualMachine | Get-VMCheckpoint | Select VM,Name,Description,AddedTime | ConvertTo-HTML -Head $Header -Body "$Greeting $_ " | Out-String $Recipients = 'email1@cloudwyse.co.uk','email2@cloudwyse.co.uk','email3@cloudwyse.co.uk'
Start-Transcript -Path "$transpath" -Append Write-Host "Started running script on $env:computername at $DateTime"
Send-MailMessage ` -SmtpServer smtpserver.contoso.com ` -Credential $mycred ` -From 'reports@cloudwyse.co.uk' ` -To $Recipients ` -Subject $Subject ` -Body $ReportText -BodyAsHtml ` -Port 587 -UseSsl
Write-Host "Finished running script on $env:computername at $DateTime" Stop-Transcript
|
Follow the instructions here to create the securestring.txt
|
No comments:
Post a Comment