我想寫將由計劃任務拉開序幕PowerShell腳本,該腳本將返回我們的數據庫備份的詳細信息,這些保存到一個名爲.htm文件並通過電子郵件發送結果。PowerShell的 - 使用.htm文件作爲電子郵件的正文
到目前爲止得到的備份信息,並保存爲.htm文件工作正常,但我無法弄清楚如何得到電子郵件的身體看起來像.htm文件。此刻的電子郵件身體看起來像原始的HTML代碼。
到目前爲止:
$a = "<style>"
$a = $a + "TABLE{border-width: 1px;border-style: solid;border-color: black;border-collapse: collapse;}"
$a = $a + "TH{border-width: 1px;padding: 10px;border-style: solid;border-color: black;}"
$a = $a + "TD{border-width: 1px;padding: 10px;border-style: solid;border-color: black;}"
$a = $a + "</style>"
$date = (get-date).ToString('yyyyMMdd')
[System.Reflection.Assembly]::LoadWithPartialName('Microsoft.SqlServer.SMO') | out-null
$s = New-Object ('Microsoft.SqlServer.Management.Smo.Server') "LOCALHOST\SQLX64"
$dbs=$s.Databases
#Retrieves the last backup dates - both for FULL and LOG backups
$backups = $dbs | SELECT Name,LastBackupDate, LastLogBackupDate | ConvertTo-HTML -head $a -body "<H2>Database Backup Details $date </H2>" | Out-File $("D:\SQL Backup Log Script\Logs\"+ $date +"_DB01 Backup Log.htm")
$EmailFrom = "[email protected]##.net"
$emailto = "##@##.net"
$Subject = "DB01 SQL Backup Log"
$Body = Get-Content ("D:\SQL Backup Log Script\Logs\"+ $date +"_Backup Log.htm")
$SMTPServer = "smtp.gmail.com"
$SMTPClient = New-Object Net.Mail.SmtpClient($SmtpServer, 587)
$SMTPClient.EnableSsl = $true
$SMTPClient.Credentials = New-Object System.Net.NetworkCredential("##", "##");
$SMTPClient.Send($EmailFrom, $EmailTo, $Subject, $Body)
感謝, 夏洛特。
謝謝,但這是行不通的:在這個對象上找不到Property'isbodyhtml' – Charlotte 2012-02-02 12:58:07
- 編輯答案。您需要更改.NET對象填寫您的必需品。 – 2012-02-02 13:14:00
謝謝,這是現在的工作。 – Charlotte 2012-02-03 13:30:16