【问题标题】:BizTalk Event Viewer ReportBizTalk 事件查看器报告
【发布时间】:2016-08-28 07:05:52
【问题描述】:

我已准备好我的 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]

【问题讨论】:

  • 您生成的 HTML 可能格式不正确。你能添加一个看起来像什么的 sn-p 吗?

标签: powershell biztalk


【解决方案1】:

在你正在阅读的 foreach 中($getEventLog 中的 $log)但在生成 HTML 的代码中,你正在分配 $getEventLog.Property 而不是每个循环的 $log.Property,因此您始终将所有错误内容放在一起。

问候,

【讨论】:

  • 感谢您的回答,现在它工作正常!我忘了把 $log 改成循环。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-24
  • 2014-03-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多