2014-01-18 26 views
0

我完全是Powerhell的新手&我正在使用代碼搜索。電子郵件正文中的輸出格式扭曲

我已經能夠到目前爲止通過電子郵件發送PowerShell查詢的結果,我很可能留下了深刻的印象它的工作。

當查詢在命令行上完成時,它的工作效果很好,通過電子郵件將輸出擴展到很寬,並且字段不會彼此對齊。

我已經粘貼下面我的命令。我正在查詢Exchange郵箱大小,希望按最大的順序排序。這很好,我把它放到一個文本文件。

然後我讀取文本文件並將其替換爲電子郵件的正文。

在Outlook電子郵件收件人端它在我看來,像Outlook的窗口大小導致文本環繞,它不再縱向顯示。

有什麼我可以做的嗎?

感謝

下面獲取數據

GET-WmiObject可以-Class Exchange_Mailbox - 命名空間ROOT \ MicrosoftExchangev2 -ComputerName MyExchangeServer |位置對象{$ _ LastWriteTime -le(獲取最新).AddYears(1)} |選擇對象MailboxDisplayName,大小|排序對象大小-descending

下面講述的Exchange服務器使用

$psEmailServer = "MyExchangeServer" 

下面是含有我需要賦予$身體

$body= (Get-Content mailboxsize.txt) 

下面的數據文本文件使用發送電子郵件電子郵件作爲電子郵件的主體內容,但它dosent出來的權利及其在前景不對齊。

send-mailmessage -from "[email protected]" -to "[email protected]" -subject "test powershell email" -body "$body" 
+1

你是什麼意思「它出來不正確?」你可以發佈截圖,或鏈接到一個? –

+1

您的輸出看起來不一樣,因爲控制檯使用固定寬度的字體,並且Outlook將使用變量間距。如果你想在你的電子郵件中使用很好的表格格式,你需要使用html。 – mjolinor

+0

你需要有它在體內?您可以改爲附加txt文件。 –

回答

-1

直到我們看到您的電子郵件看起來如何,我們只能猜測。

但我假設您的意思是說,您將文本文件中的所有行作爲電子郵件正文放在一條長行中,並且它們不會再顯示爲電子郵件中的單獨行。我有過類似的問題,並解決它與此:

$body= ((Get-Content mailboxsize.txt) -join "`n") 

(你可能不需要最外層的禁忌)。