我的PowerShell脚本已准备好用于“BizTalk Server”的监视器事件查看器,我还将生成的输出附加为屏幕截图。
你可以通过1个常见输出而不是针对每个“BizTalk Server”错误的个别错误来帮助我查找电子邮件警报丢失代码的位置。
感谢您抽出时间了解我的代码,这真的有助于我将脚本设置为我的环境。
$getEventLog = Get-Eventlog -log application -after ((get-date).AddHours(-0.25)) -EntryType Error | Where-Object {($_.Source -eq 'BizTalk Server')}
[INT]$i = 1
#Create mail content
$mailBody = ""
Foreach ($log in $getEventLog)
{
$mailBody += "<th><b>Event log error message: " + $log.Index + "</b></th>"
$mailBody += "<table style='boder:0px 0px 0px 0px;'>"
$mailBody += "<TR style='background-color:white;'><TD>Time</TD>"
$mailBody += "<TD>" + $log.TimeWritten + "</TD></TR>"
$mailBody += "<TR style='background-color:rgb(245,245,245);';><TD>Source</TD>"
$mailBody += "<TD>" + $log.Source + "</TD></TR>"
$mailBody += "<TR style='background-color:white;'><TD>Message</TD>"
$mailBody += "<TD>" + $log.Message + "</TD></TR>"
$mailBody += "<TR style='background-color:rgb(245,245,245);'><TD>Machine Name</TD>"
$mailBody += "<TD>" + $log.MachineName + "</TD></TR>"
$mailBody += "</table>"
$mailBody += "<BR><BR>"
$i ++
}
$count = $i - 1;
$mailTextReport = "This report was generated because there are "+ $count + " error messages in the Event Viewer that require your attention."
# HTML Format for Output
$HTMLmessage = @"
<font color=""black"" face=""Arial"" size=""3"">
<h1 style='font-family:arial;'><b>BizTalk Event Viewer Report</b></h1>
<p style='font: .8em ""Lucida Grande"", Tahoma, Arial, Helvetica, sans-serif;'>$mailTextReport</p>
<br><br>
<style type=""text/css"">body{font: .8em ""Lucida Grande"", Tahoma, Arial, Helvetica, sans-serif;}
ol{margin:0;}
table{width:80%;}
thead{}
thead th{font-size:120%;text-align:left;}
th{border-bottom:2px solid rgb(79,129,189);border-top:2px solid rgb(79,129,189);padding-bottom:10px;padding-top:10px;}
tr{padding:10px 10px 10px 10px;border:none;}
#middle{background-color:#900;}
</style>
<body BGCOLOR=""white"">
$mailBody
</body>
"@
冗余错误列表在电子邮件警报中重复了9次
![冗余错误列表在电子邮件警报中重复9次] [1]
我需要输出看起来像下面的屏幕截图。 错误列表需要是单个时间,并为事件查看器中找到的每个错误使用新表
![错误列表需要是单一时间,并为事件查看器中发现的每个错误使用新表] [2]
答案 0 :(得分:0)
在foreach中你正在阅读 $ getEventLog 中的 $ log 但是在生成HTML的代码中,你正在分配 $ getEventLog < / strong>。属性而不是每个循环的 $ log 。属性,因此您将所有错误内容放在一起。< / p>
此致