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日志分析的更多相关文章

  1. linux下利用elk+redis 搭建日志分析平台教程

    linux下利用elk+redis 搭建日志分析平台教程 http://www.alliedjeep.com/18084.htm   elk 日志分析+redis数据库可以创建一个不错的日志分析平台了 ...

  2. windows日志分析工具-LogonTracer

    0x01 Windows应急日志常用的几个事件ID 4624:这个事件ID表示成功登陆的用户,用来筛选该系统的用户登陆成功情况. 4625:这个事件ID表示登陆失败的用户. 4768:这个事件ID表示 ...

  3. 利用docker部署elk交换机日志分析

    今天我们来聊一下利用docker部署elk日志分析系统,这里解析一下elk是啥东西.elk分别是Elasticsearch,Logstash和Kibana的首字母缩写. Elasticsearch是一 ...

  4. Window日志分析

    0X00 简介 0x01 基本设置 A.Windows审核策略设置 前提:开启审核策略,若日后系统出现故障.安全事故则可以查看系统的日志文件,排除故障,追查入侵者的信息等. 打开设置窗口 Window ...

  5. Windows日志为什么要把它转成Syslog呢?

    有的朋友会问,好好的Windows日志为什么要把它转成Syslog呢?呵呵,当Windows服务器比较少的时候,我们是不需要这样做的.但试想如果你管理着成千上百台的Windows机器,你会一台一台的登 ...

  6. Windwos日志分析

    Windows日志分析工具 查看系统日志方法: 在“开始”菜单上,依次指向“所有程序”.“管理工具”,然后单击“事件查看器” 按 "Window+R",输入 ”eventvwr.m ...

  7. 利用Powershell和ceye.io实现Windows账户密码回传

    利用Powershell和ceye.io实现Windows账户密码回传 转自:http://www.freebuf.com/articles/system/129068.html 最近在研究Power ...

  8. Windows AD日志分析平台WatchAD安装教程

    目录 WatchAD介绍 安装环境 WatchAD安装(日志分析端服务) 基础环境配置 安装WatchAD 运行WatchAD WatchAD-web安装(Web监控端服务) 下载WatchAD-We ...

  9. ELK日志分析平台系统windows环境搭建和基本使用

    ELK(ElasticSearch, Logstash, Kibana),三者组合在一起就可以搭建实时的日志分析平台啦! Logstash主要用来收集.过滤日志信息并将其存储,所以主要用来提供信息. ...

随机推荐

  1. jq 智能搜索

    案例:http://www.runoob.com/jqueryui/example-autocomplete.html <input  type="text" style=& ...

  2. R语言-查看加载包、卸除加载包及安装包与卸载包

    在R语言中,常需要看哪个包加载了或是看多个相似功能的包,看到底是哪个包在起作用,通过加载和卸除后进行运行比较分析. 1.查看已加载的包 >(.packages()) 注意外面的括号和前面的点不能 ...

  3. A SIMPLE LIBRARY TO BUILD A DEEP ZOOM IMAGE

    My current project requires a lot of work with Deep Zoom images. We recently received some very high ...

  4. FreeRDP的安装配置(错误信息:SSL_read: Failure in SSL library (protocol error?))

    最新文章:Virson's Blog 使用xfreerdp [serveripaddress]命令,连接xp/windows 2003都正常,但是在连接win7/2008时总是出错: ;------- ...

  5. 总结一些笔记上的C和C++知识点

    1.如果没有提供自己的copy构造函数,C++会提供一个默认的copy构造函数,是成员到成员的copy. 2.C中static的作用: 1.隐藏:如果未加static,编译多个文件的时候,所有的全局变 ...

  6. Android seLinux 设置

    在android O上添加服务.在访问一些路径的时出现了权限的问题,将seLinux关闭之后运行成功.所以需要设置相关的权限. 参考文档: http://blog.csdn.net/tung214/a ...

  7. 第三百五十五节,Python分布式爬虫打造搜索引擎Scrapy精讲—scrapy信号详解

    第三百五十五节,Python分布式爬虫打造搜索引擎Scrapy精讲—scrapy信号详解 信号一般使用信号分发器dispatcher.connect(),来设置信号,和信号触发函数,当捕获到信号时执行 ...

  8. googletest进行单元测试(使用cmake编译)

    一.前提: 1.假定你的系统为centos6系列 2.假定你已经安装了基本的编译环境,gcc,g++4.4.7 3.假定你已经设置了环境变量:KDS_MOBILE_STOCK_HOME 4.假定你已经 ...

  9. iOS笔记UI--使用storyboard加入约束

    申明:此为本人学习笔记,若有纰漏错误之处的可留言共同探讨 可视化的搭建UI效率是很高的.所以官方苹果也是很推荐的.那么我们来学一学怎样利用系统自带的故事版(storyboard)来搭建UI.可视化搭建 ...

  10. IE10弹窗showModalDialog关闭之后提示SCRIPT5011:不能执行已释放的Script代码

    在Web开发中,经常使用showModalDialog弹窗 今天遇到一个小问题,IE10中弹窗关闭之后提示SCRIPT5011:不能执行已释放的Script代码 网上搜罗了一些资料,发现大多都提到对象 ...