我想使用PowerShell輸出一些表格,然後通過電子郵件將其發送給前/後內容在電子郵件中顯示爲「System.String []」。其餘的內容似乎很好,如果我輸出HTML字符串到控制檯,一切都看起來很好。轉換爲HTML輸出的前/後內容顯示爲System.String []而不是實際內容
function Send-SMTPmail($to, $from, $subject, $smtpserver, $body) {
$mailer = new-object Net.Mail.SMTPclient($smtpserver)
$msg = new-object Net.Mail.MailMessage($from,$to,$subject,$body)
$msg.IsBodyHTML = $true
$mailer.send($msg)
}
$Content = get-process | Select ProcessName,Id
$headerString = "<table><caption> Foo. </caption>"
$footerString = "</table>"
$MyReport = $Content | ConvertTo-Html -fragment -precontent $headerString -postcontent $footerString
send-SMTPmail "my Email" "from email" "My Report Title" "My SMTP SERVER" $MyReport
在我的電子郵件顯示爲:
System.String[]
ProcessName Id
... ...
System.String[]
做一個徹頭徹尾文件,然後一個Invoke項具有相同的結果發送電子郵件...
你已經救了我的理智。 Out-String,FTW。 – JakeRobinson 2011-02-09 22:47:43