如何根据某些Windows防火墙事件接收电子邮件?


2

当Windows防火墙记录某些事件(例如接受入站连接)时,是否可以接收电子邮件?


这是最近提出的一个问题,因为它涵盖了所有第三方防火墙,因此略宽。然而,提问者决定完全删除它,而不是将其缩小到只有Windows防火墙,这是不幸的。由于我已经写下了大部分答案,我决定提交而不是浪费精力。
Karan 2015年

Answers:


2
  1. 打开具有高级安全性的Windows防火墙,然后单击右侧“ 操作”窗格下的“ 属性 ”。

  2. 为所需的配置文件(域/私人/公共)启用连接日志记录:

    1

  3. 打开事件查看器并导航到Applications and Services Logs\Microsoft\Windows\Windows Firewall with Advanced Security

  4. 在这里,您将看到四个日志:ConnectionSecurity,ConnectionSecurityVerbose,Firewall和FirewallVerbose。要启用标记为“详细”的日志,请在“ 操作”窗格下右键单击“ 启用日志”

  5. 现在等待记录某些事件,然后在事件查看器中选择您感兴趣的防火墙事件,并在“ 操作”窗格中单击“ 将任务附加到此事件”

  6. 为任务指定操作时,您可以选择发送电子邮件

    2

  7. 如果您还想要完整的事件详细信息,那么创建一个简单的批处理文件,该文件使用wevtutil根据EventID过滤相应的日志,如下所示:

    wevtutil qe System "/q:*[System [(EventID=20274)]]" /f:text /rd:true /c:1 > D:\Attach.txt 
    
  8. 最后,打开任务计划程序,找到您的任务Task Scheduler Library\Event Viewer Tasks并进行修改,以包含在发送电子邮件之前运行批处理文件的其他操作。还要修改电子邮件操作以包含wevtutil创建的文本文件作为附件:

    3

附加说明:自定义防火墙配置文件的日志记录设置。如果您对电子邮件事件详细信息感兴趣而不运行单独的批处理文件(基本上通过编辑计划任务的XML并添加XPath查询以检索事件数据),请参阅此文章

此外,请记住,任务计划程序不支持SMTP身份验证,这是愚蠢的。这意味着,如果您使用的是ISP或Microsoft / Google / Yahoo的SMTP服务器,除非您使用PowerShell或第三方电子邮件程序(如BlatSendEmail),否则运气不佳。请记住在这种情况下创建一个启动程序操作而不是发送一个电子邮件

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.