2014-01-18 28 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") 

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