利用powershell进行windows日志分析
0x00 前言
Windows 中提供了 2 个分析事件日志的 PowerShell cmdlet:一个是Get-WinEvent,超级强大,但使用起来比较麻烦;另一个是Get-EventLog,使得起来相当简单,可以实时筛选,接下来,我们利用PowerShell 来自动筛选 Windows 事件日志。
0x01 Get-WinEvent
A、XML编写
假设有这样一个需求:windows server2008 R2环境,需要统计一下近7天用户登录次数。
我们可以直接利用事件查看器里面筛选日志,如下图:

通过查看登录日志,发现在真正的登录时间,是这条日志,去其他不同的是,此条日志记录的进程名是winlogon.exe 要实现比较精确的筛选,需要从这里入手,
进一步筛选 点击“事件属性”里面的“详细信息”中,可以看见一条信息,后面会用到:

在“筛选当前日志”中,选择“XML”,勾选“手动编辑查询”,并确认,在手动编辑中加入以下设置 *[EventData[Data[@Name='ProcessName'] and (Data='c:\windows\system32\winlogon.exe')]] and 如图(里面的PrcessName和winlogon.exe就是前面在“事件属性”里面的“详细信息”中看到的):
*[EventData[Data[@Name='ProcessName'] and (Data='c:\windows\system32\winlogon.exe')]] and

点击确认,可以精确的筛选用户登录事件。
windows server 2012的登录筛选 在windows server2012中,可能会有一些小变化,但是也没关系,按照之前的解决思路即可。下面可做参考:
*[EventData[Data[@Name='ProcessName'] and (Data='c:\windows\system32\winlogon.exe')]] and
*[EventData[Data[@Name='LogonType'] and (Data='10')]] and
B、Get-WinEvent使用
Get-WinEvent -FilterHashtable @{Logname='system';Id='6006','6005'}

0x02 Get-EventLog
Get-EventLog Security -InstanceId 4624,4625

$xml='<QueryList>
<Query Id="" Path="Security">
<Select Path="Security">*[System[(EventID=)]]</Select>
</Query>
</QueryList>'
$events = Get-WinEvent -FilterXml $xml
$i=
#Write-Host '登录时间','登录类型','登录账号','登录IP地址'
while ($i -lt $events.length) {
$time=$events[$i].TimeCreated
$type=[regex]::matches($events[$i].Message, '登录类型:(.+)') | %{$_.Groups[].Value.Trim()}
$user=([regex]::matches($events[$i].Message, '帐户名:(.+)') | %{$_.Groups[].Value.Trim()})[1]
$IP=[regex]::matches($events[$i].Message, '源网络地址:(.+)') | %{$_.Groups[].Value.Trim()}
Write-Host $time,$user,$type,$IP
$i++
}
脚本运行:
查看用户登录事件、登录用户名、登录类型、登录IP地址

最后
欢迎关注个人微信公众号:Bypass--,每周原创一篇技术干货。

参考链接:
Get-EventLog 使用
https://www.cnblogs.com/brooks-dotnet/archive/2010/08/24/1807615.html
https://www.cnblogs.com/fuhj02/archive/2011/01/03/1924339.html
Get-EventLog使用
https://docs.microsoft.com/zh-cn/powershell/module/Microsoft.PowerShell.Management/Get-EventLog?view=powershell-5.1
精准的筛选windows用户登录事件
https://www.iyunv.com/thread-525384-1-1.html
利用powershell进行windows日志分析的更多相关文章
- linux下利用elk+redis 搭建日志分析平台教程
linux下利用elk+redis 搭建日志分析平台教程 http://www.alliedjeep.com/18084.htm elk 日志分析+redis数据库可以创建一个不错的日志分析平台了 ...
- windows日志分析工具-LogonTracer
0x01 Windows应急日志常用的几个事件ID 4624:这个事件ID表示成功登陆的用户,用来筛选该系统的用户登陆成功情况. 4625:这个事件ID表示登陆失败的用户. 4768:这个事件ID表示 ...
- 利用docker部署elk交换机日志分析
今天我们来聊一下利用docker部署elk日志分析系统,这里解析一下elk是啥东西.elk分别是Elasticsearch,Logstash和Kibana的首字母缩写. Elasticsearch是一 ...
- Window日志分析
0X00 简介 0x01 基本设置 A.Windows审核策略设置 前提:开启审核策略,若日后系统出现故障.安全事故则可以查看系统的日志文件,排除故障,追查入侵者的信息等. 打开设置窗口 Window ...
- Windows日志为什么要把它转成Syslog呢?
有的朋友会问,好好的Windows日志为什么要把它转成Syslog呢?呵呵,当Windows服务器比较少的时候,我们是不需要这样做的.但试想如果你管理着成千上百台的Windows机器,你会一台一台的登 ...
- Windwos日志分析
Windows日志分析工具 查看系统日志方法: 在“开始”菜单上,依次指向“所有程序”.“管理工具”,然后单击“事件查看器” 按 "Window+R",输入 ”eventvwr.m ...
- 利用Powershell和ceye.io实现Windows账户密码回传
利用Powershell和ceye.io实现Windows账户密码回传 转自:http://www.freebuf.com/articles/system/129068.html 最近在研究Power ...
- Windows AD日志分析平台WatchAD安装教程
目录 WatchAD介绍 安装环境 WatchAD安装(日志分析端服务) 基础环境配置 安装WatchAD 运行WatchAD WatchAD-web安装(Web监控端服务) 下载WatchAD-We ...
- ELK日志分析平台系统windows环境搭建和基本使用
ELK(ElasticSearch, Logstash, Kibana),三者组合在一起就可以搭建实时的日志分析平台啦! Logstash主要用来收集.过滤日志信息并将其存储,所以主要用来提供信息. ...
随机推荐
- win7 64位操作系统中 Oracle 11g 安装教程(图解)
1.下载Oracle 11g R2 for Windows版本,下载地址如下 官方网站: http://download.oracle.com/otn/nt/oracle11g/112010/win3 ...
- jquery 回车事件实现代码
// 键盘事件 1.keydown() keydown事件会在键盘按下时触发. 2.keyup() keyup事件会在按键释放时触发,也就是你按下键盘起来后的事件 3.keypress() ke ...
- 【转】【Mac】invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library
异常原因 我在昨天升级了 macOX Sierra,悲剧的是,今天我发现git命令无法执行,homebrew也无法使用,这种情景我在升级OS X El Capitan也遇到过一次,完整异常提示如下: ...
- Loadrunner 26377错误
26377错误的成因很多,总结最直接的结果就是No match found for the requested parameter "XXXXX".意思就是没有找到关联变量匹配的值 ...
- Sword ACE编译
1.设置环境变量 #ACE_ROOT是指ACE解压目录 export ACE_ROOT=/home/person/2/ACE_wrappers export LD_LIBRARY_PATH=$ACE_ ...
- Apache Storm内部原理分析
转自:http://shiyanjun.cn/archives/1472.html 本文算是个人对Storm应用和学习的一个总结,由于不太懂Clojure语言,所以无法更多地从源码分析,但是参考了官网 ...
- arduino入门套件学习过程-安装配置
arduino作为非常火的开源软硬件,有其巨大的优势和前景. 我呢,近期正好需要用arduino做一些小东西,借此机会,分享我的arduino学习历程,欢迎各位朋友一起讨论,指点! 现在进入正题: 这 ...
- FPGA中的时序分析(一)
谈及此部分,多多少少有一定的难度,笔者写下这篇文章,差不多是在学习FPGA一年之后的成果,尽管当时也是看过类似的文章,但是都没有引起笔者注意,笔者现在再对此知识进行梳理,也发现了有很多不少的收获.笔者 ...
- Axiom3D:手动创建ManualObject与Mesh,以及如何使用Cg着色器语言
在开始正文前,先说下Axiom3D里遇到的二个BUG. 1.在启动axiom生成的程序中,我发现输出里总是有一些如"billboard_type","billboard_ ...
- php -- php模拟浏览器访问网址
目前我所了解到的在php后台中,用php模拟浏览器访问网址的方法有两种: 第一种:模拟GET请求:file_get_contents($url) 通过php内置的 file_get_contents ...