BizTalk日志自动发送邮件通知

更多内容请查看:BizTalk动手实验系列目录

                            BizTalk 开发系列

BizTalk 培训/项目开发/技术支持请联系:Email:[email protected] , Wechat/Mobile: +86 18511575973

     


 

 在BizTalk系统管理过程中系统日志一直占据重要的位置,不管是应用程序的错误还是系统的错误都会在系统日志中有记录,因此如果能够实现Windows系统日志的自动推送的话就可以更好的进行管理。以下借助Windows自带的日志管理工具+Powershell实现日志的自动推荐功能。

一、日志管理配置步骤 

1、在日志管理在创建管理视图

BizTalk日志自动发送邮件通知_第1张图片

 

2、选择视图筛选条件

BizTalk日志自动发送邮件通知_第2张图片

 

3、输入视图名称

BizTalk日志自动发送邮件通知_第3张图片

 

 

 4、选择附加任务

BizTalk日志自动发送邮件通知_第4张图片

 

5、创建任务

BizTalk日志自动发送邮件通知_第5张图片

 

 6、确定触发方式

BizTalk日志自动发送邮件通知_第6张图片

7、选择Action为启动一个应用

BizTalk日志自动发送邮件通知_第7张图片

 

8、指定PowerShell文件路径(文件内容查阅文章尾部Poweshell代码部分)

BizTalk日志自动发送邮件通知_第8张图片

 

9、完成任务配置

BizTalk日志自动发送邮件通知_第9张图片

 

10、 配置任何用户运行

BizTalk日志自动发送邮件通知_第10张图片

 

11、输入用户密码完成配置

BizTalk日志自动发送邮件通知_第11张图片

 

12、邮件测试效果

BizTalk日志自动发送邮件通知_第12张图片

BizTalk日志自动发送邮件通知_第13张图片

 

 

 

 

二、Powershell 相关配置

 调整PowerShell运行权限

Set-ExecutionPolicy RemoteSigned

 

注册测试日志源

New-EventLog -LogName Application -Source Test

 

测试日志

write-host "Line 1"
Write-EventLog –LogName Application –Source "Test" –EntryType Error –EventID 1 –Message "This is a Error message from Gary computer."
Start-Sleep 5
write-host "Line 2"
Write-EventLog –LogName Application –Source "Test" –EntryType Warning –EventID 1 –Message "This is a Warning message from Gary computer."

 

Send Email NotifyPowershell代码

#设置基本信息
    $from="[email protected]"
    $to='xxxxx@cbcye.com'
    $SMTPServer="smtp.qq.com"
    $SMTPUser=$from
    $SMTPwd="xxxxxxxx"
    $SMTPort=25

#主逻辑
$event = get-eventlog -LogName Application -newest 1

if (($event.EntryType -eq "Error") -or ($event.EntryType -eq "Warning"))
{
    $PCName = $env:COMPUTERNAME
    $EmailBody = $event | format-list -property * | out-string
    $EmailSubject = "["+$event.EntryType+"]["+$PCName+"]日志消息提醒"
    Write-host "Sending Email"
       
    #创建email对象
    $SMTPClient= New-Object Net.Mail.SmtpClient($SMTPServer,$SMTPort)
    #使用 ssl协议
    $SMTPClient.EnableSsl=$true
    $SMTPClient.Credentials =New-Object System.Net.NetworkCredential($SMTPUser,$SMTPwd);
    $SMTPClient.Send($from,$to,$EmailSubject,$EmailBody)

 

你可能感兴趣的:(BizTalk日志自动发送邮件通知)