爱她吗 发表于 2018-6-17 07:00:19

Windows事件日志查询案例

  1.查询本机事件日志名称
  Get-EventLog -List

  2.查询2018年1月4日后系统日志中的错误日志
  Get-EventLog -LogName System -EntryType Error -After 2018-1-4

  3.查看单个事件日志详细信息(index的值为事件日志的序号)
  Get-EventLog -LogName System | Where-Object {$_.index -eq 2677} | Select-Object -Property *

  4.Format-Table 输出自动换行,添加-Wrap参数(如果输出到文件,不建议加此参数)
  
  
  Get-EventLog -LogName System -ComputerName . -EntryType Error -After 2018-1-4 | Sort-Object -Descending Index | Select-Object -First 7 |Format-Table -Property Index,EventID,MachineName,EntryType,Source,TimeGenerated,UserName,Message -AutoSize-Wrap
  
  
  
  
  5.查询指定日期后的日志并依据Index序号排序,筛选前5项,自定义栏位生成表格(前两行为栏位和分隔符)
  Get-EventLog -LogName System -ComputerName . -EntryType Error -After 2018-1-4 | Sort-Object -Descending Index | Select-Object -First 7 |Format-Table -Property Index,EventID,MachineName,EntryType,Source,TimeGenerated,UserName,Message -AutoSize| Out-File C:\Log.csv

  注意:可结合Out-File命令导入到CSV文件当中方便查询(如果显示宽度不够宽,一定要带参数“-AutoSize”且将PowerShell执行窗体调宽至5000以上,越宽越好)
  
  6.多个系统日志同时查询
  (1)Get-EventLog一次只能读取一个事件日志名称下的事件。如果你想从多个事件名称中查找事件。你必须像这样在数组中追加信息:
  $events = @(Get-EventLog -LogName System -EntryType Error) #显示系统日志下的错误日志
  $events += Get-EventLog -LogName Application -EntryType Error #追加显示应用程序中的错误日志
  $events

  (2)WMI同时查询多个事件名称(推荐使用该方法)
  Get-WmiObject -Class Win32_NTLogEvent -Filter 'Type="错误" and (LogFile="System" or LogFile="Application")' |Select-Object -First 100 -Property TimeGenerated, LogFile, EventCode, Message
页: [1]
查看完整版本: Windows事件日志查询案例