我正在编写一个脚本来ping工作站列表,如果它们处于脱机状态,则返回将它们添加到数组中。将它们添加到阵列后,脚本会发送一封包含脱机工作站列表的电子邮件。这是迄今为止的脚本
$list = Get-Content "C:\Users\$env:UserName\Desktop\workstations.txt"
ForEach ($_ in $list) {
$test = Test-Connection -BufferSize 32 -Count 1 -ComputerName $_ -Quiet
IF ($test -match "false") {
$offlinelist += ($_)
}
}
Send-MailMessage -To "me <me@me.com>" -From "you <you@you.com>" -Subject "Offline Workstations" -SmtpServer "smtp.me.com" -body "These workstations are offline: <br> $offlinelist" -BodyAsHtml
在当前形式下,代码将发送一封电子邮件,其输出如下所示:
这些工作站处于离线状态:
test1test2
我需要它看起来像这样:
这些工作站处于离线状态:
test1的
TEST2
我知道有一种方法可以使用New-Object
cmdlet或Format-Table
cmdlet。我只是不确定如何构建代码。我找到了几个示例,但我无法使用Send-MailMessage
cmdlet。此外,是否可以使用不同的颜色字体或面部风格化电子邮件的正文?任何帮助或示例将不胜感激。先感谢您。
答案 0 :(得分:1)
如果将来遇到其他人,我可以通过在数组中的工作站名称之后添加<br>
来解决我的问题:
$offlinelist += "$_ <br>"
由于BodyAsHtml
cmdlet中的Send-MailMessage
属性,这似乎有效。我不确定这是否是正确的方式语法,但它对我没有错误。干杯!