Windows事件日志快速分析
文章目录
- 前言
- PowerShell命令方法
- PowerShell常用命令
- 1. 检查服务器最近开关机时间
- 2. 最近登录失败的详细信息
- 3. 统计指定时间至今的事件数量
- 4. 只关注指定时间某一类型日志
- 常见EventID解释
前言
我每月都要给各种不同的客户做系统巡检,其中Windows事件日志检查是比较耗时的事情。它会记录许多的信息,特别是针对系统安全方面、系统故障排除方面有重要线索。我们可以通过一些事件关键字与信息,制作各种不同的脚本以便快速筛选过滤日志。
一般来说,我们可以通过如下两种方法实现日志过滤:
- Powershell => Win自带的命令行工具
- Log Parser 2.2 => 功能非常强大的第三方工具
PowerShell命令方法
Windows PowerShell提供两种不同的命令方式:
Get-WinEvent => 功能强大,但运用复杂;
Get-EventLog => 简单易用,可实时查询;
# 过滤安全日志的登录成功与失败日志
Get-EventLog Security -InstanceId 4624,4625
PowerShell常用命令
1. 检查服务器最近开关机时间
Function Get-ComputerUptimeHistory {$q='
<QueryList><Query Id="0" Path="System"><Select Path="System">*[System[(EventID=6005 or EventID=6006)]]</Select></Query>
</QueryList>'
$events = Get-WinEvent -FilterXml $q
$i=-1
while ( $i+1 -lt $events.length ) {if($i -eq -1){[PSCustomObject]@{StartTime = $events[0].TimeCreated;StopTime = $null ;UpTime = [datetime]::Now - $events[0].TimeCreated}}else{[PSCustomObject]@{StartTime = $events[$i+1].TimeCreated;StopTime = $events[$i].TimeCreated ;UpTime = $events[$i].TimeCreated - $events[$i+1].TimeCreated}}$i += 2
}
}Get-ComputerUptimeHistory | ft -AutoSize
2. 最近登录失败的详细信息
$xml='<QueryList><Query Id="0" Path="Security"><Select Path="Security">*[System[(EventID=4625)]]</Select></Query>
</QueryList>'
$events = Get-WinEvent -FilterXml $xml
$i=0
Write-Host '登录时间','登录账号','登录类型','登录IP地址'
while ($i -lt $events.length) {$time=$events[$i].TimeCreated$type=[regex]::matches($events[$i].Message, '登录类型:(.+)') | %{$_.Groups[1].Value.Trim()}$user=([regex]::matches($events[$i].Message, '帐户名:(.+)') | %{$_.Groups[1].Value.Trim()})[1]$IP=[regex]::matches($events[$i].Message, '源网络地址:(.+)') | %{$_.Groups[1].Value.Trim()}Write-Host $time,$user,$type,$IP$i++
}
登录类型参考如下:
3. 统计指定时间至今的事件数量
# 汇总显示
Get-EventLog security -InstanceId 4624,4625 -After '2020/06/01 00:00' | Group-Object InstanceId | Sort-Object Count -Descending
# 明细显示
Get-EventLog security -InstanceId 4625 -After '2020/06/01 00:00' | Format-List
4. 只关注指定时间某一类型日志
Get-EventLog application -After '2020/06/01 00:00' | Where-Object { $_.EntryType -eq "Error" }
常见EventID解释
Windows事件日志快速分析相关推荐
- Windows版本Oracle审计日志,【情报】Oracle ORA-28056: 未能将审计记录写入 Windows 事件日志...
今日创建新数据库时一直提示,写入audit到Windows 事件日志失败(Writing audit records to Windows Event Log failed),一路忽略,算是创建完成. ...
- SQL Server 无法生成 FRunCM 线程。请查看 SQL Server 错误日志和 Windows 事件日志(转)...
前言: 今天遇到这个sql服务无法启用 .无法登陆 的情况..在google 百度 搜了一下.发现很多网站都是采集来的数据..(很奇怪这些采集站都那么靠前!) 照着文章里边的方法去试试都不行,,,后来 ...
- windows log日志分割_如何将日志记录到 Windows事件日志 中
每当出现一些未捕获异常时,操作系统都会将异常信息写入到 Windows 事件日志 中,可以通过 Windows 事件查看器 查看,如下图: 这篇文章将会讨论如何使用编程的方式将日志记录到 Window ...
- 使用EventLog类写Windows事件日志
此文转自 银河使者 http://www.cnblogs.com/nokiaguy/archive/2009/02/26/1398708.html 多谢作者分享 操作系统: Windows XP ...
- Windows事件日志监控
大多数数据泄露属内部人员而为,但各企业在监控内部网络活动方面仍存在不足. 无论是大型还是小型企业,监控内部网络活动已成为其主要要求.要保护网络安全以防范泄露和威胁,各企业需要采取积极的措施来保证其网络 ...
- Windows 事件日志分析管理
Windows 设备是大多数商业网络中最受欢迎的选择.为了处理这些设备生成的数 TB 的事件日志数据,安全管理员需要使用功能强大的日志管理工具(如EventLog Analyzer),该工具可以通过自 ...
- Syslog和Windows事件日志收集
Syslog和Windows事件日志收集 EventLog Analyzer从分布式Windows设备收集事件日志,或从分布式Linux和UNIX设备.交换机和路由器(Cisco)收集syslog.事 ...
- 应急响应 | 通过Python对Windows事件日志进行解析
Python-evtx python-evtx是用于最近的Windows事件日志文件(文件扩展名为" .evtx"的文件)的纯Python解析器.该模块提供对File和Chunk标 ...
- 使用ELK分析Windows事件日志
这是ELK入门到实践系列的第三篇文章,分享如何使用ELK分析Windows事件日志. Windows系统日志是记录系统中硬件.软件和系统问题的信息,同时还可以监视系统中发生的事件.用户可以通过它来检查 ...
最新文章
- 市面上主流的TCC框架介绍
- system verilog随机函数_systemverilog中的随机化激励.pdf
- [UE4]自动旋转组件
- Mac OS安装octave出现的问题-'error:terminal type set to 'unknown'的解决'
- Linux下svn搭建配置
- jvm内存分配与收回策略
- Mint-UI 报错提示缺少“raf.js / vue-lazyload / vue-popup” - 解决办法
- centos8 用u盘安装失败_CentOS8 的安装过程
- linux下添加新硬盘的方法
- WebComponent魔法堂:深究Custom Element 之 从过去看现在
- 网关支付、银联代扣通道、快捷支付、银行卡支付等网上常见支付方式接口说明...
- 对.gpx文件进行地图坐标系转换
- Windows CMD常用命令大全(所见即所得)
- 房价必然上涨的N个原因
- 大学物理实验电学基本参数的测量实验报告_大学物理电学基本实验实验报告
- OpenLayers 3 入门教程
- 华为实验跨交换机不同vlan通信
- 验证码论文概述-----中文篇
- 二本学校有java校招_二本学校校招心得体会
- 理工英语单词汇总与复习