BizTalk事件查看器报告

时间:2016-08-28 07:05:53

标签: powershell biztalk

我的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]

1 个答案:

答案 0 :(得分:0)

在foreach中你正在阅读 $ getEventLog 中的 $ log 但是在生成HTML的代码中,你正在分配 $ getEventLog < / strong>。属性而不是每个循环的 $ log 属性,因此您将所有错误内容放在一起。< / p>

此致