BizTalk日志自动发送邮件通知

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

                            BizTalk 开发系列

BizTalk 培训/项目开发/技术支持请联系:Email:cbcye@live.com , Wechat/Mobile: +86 18511575973

     


 

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

一、日志管理配置步骤 

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

 

2、选择视图筛选条件

 

3、输入视图名称

 

 

 4、选择附加任务

 

5、创建任务

 

 6、确定触发方式

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

 

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

 

9、完成任务配置

 

10、 配置任何用户运行

 

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

 

12、邮件测试效果

 

 

 

 

二、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="cbcye@xxx.com"
    $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)

 

posted on 2018-08-03 18:09  Gary Zhang  阅读(642)  评论(0编辑  收藏  举报

导航