zoukankan      html  css  js  c++  java
  • 使用wmi脚本对系统日志进行审计

    运行all.vbs,弹出窗口:

    输入要进行审计的日期,点"ok",脚本会自动审计你的服务器中相关的事件日志:

    all.vbs代码如下:

    On Error Resume Next
    '=========================================================================
    '     System 日志摘要
    '=========================================================================
    logfile="System"
    '输入参数处理
    str=Inputbox("开始请输入日期yyyy-mm-dd(默认为昨天):","输入参数",FormatDateTime(DateAdd("d",-1,now),2))
    '输入参数规范
    a=split(str,"-")
    for i=lbound(a)+1 to ubound(a)
     if len(a(i))=1 Then '如果月和日少于两位,前面加0
      a(i)="0" & a(i)
     end if 
    next
    str=Join(a,"")
    'Wscript.Echo str
    strComputer = "."

    Set objWMIService = GetObject("winmgmts://" & strComputer & "/root/cimv2")
    '取主机名
    computer=""
    Set colItems = objWMIService.ExecQuery("Select * from Win32_ComputerSystem",,48)
    For Each objItem in colItems
        computer=objItem.Caption
    Next
    '筛选系统日志
    Set colItems = objWMIService.ExecQuery("Select * from Win32_NTLogEvent where Logfile='"&logfile&"'",,48)
    cnt0=0
    cnt1=0
    For Each objItem in colItems
        dt=objItem.TimeWritten  '取得日志时间
     t=objItem.Type   '取类型
     If Mid(dt,1,8)=str Then
      If t="错误" Then    '---错误日志计数
       cnt0=cnt0+1
      End If
      If t="警告" Then
       cnt1=cnt1+1
      End if
     End if
    Next
    Wscript.Echo "主机 "&computer&" 【"&logfile&"】日志 "&str&" 摘要:" & " 错误 "&cnt0&" , 警告 "&cnt1
    '==========================================================================
    ' application日志摘要
    '==========================================================================
    logfile="Application"
    '筛选系统日志
    Set colItems = objWMIService.ExecQuery("Select * from Win32_NTLogEvent where Logfile='"&logfile&"'",,48)
    cnt0=0
    cnt1=0
    For Each objItem in colItems
        dt=objItem.TimeWritten  '取得日志时间
     t=objItem.Type   '取类型
     If Mid(dt,1,8)=str Then
      If t="错误" Then    '---错误日志计数
       cnt0=cnt0+1
      End If
      If t="警告" Then
       cnt1=cnt1+1
      End if
     End if
    Next
    Wscript.Echo "主机 "&computer&" 【"&logfile&"】日志 "&str&" 摘要:" & " 错误 "&cnt0&" , 警告 "&cnt1
    '==========================================================================
    ' Security日志摘要
    '==========================================================================
    logfile="Security"
    Set colItems = objWMIService.ExecQuery("Select * from Win32_ComputerSystem",,48)
    For Each objItem in colItems
        computer=objItem.Caption
    Next
    '筛选系统日志
    Set colItems = objWMIService.ExecQuery("Select * from Win32_NTLogEvent where Logfile='"&logfile&"'",,48)
    cnt0=0  '审核成功计数
    cnt1=0  '审核失败计数
    cnt2=0  '登陆成功计数
    cnt3=0  '登陆失败计数
    cnt4=0  '审核日志清除计数
    cnt5=0  '审核策略变更计数
    cnt6=0  '用户帐号变更计数
    For Each objItem in colItems
        dt=objItem.TimeWritten  '取得日志时间
     t=objItem.Type   '取类型
     code=objItem.EventCode '取事件id
     If Mid(dt,1,8)=str Then
      If t="审核成功" Then             '---审核成功计数
       cnt0=cnt0+1
      End If
      If t="审核失败" Then             '---审核失败计数
       cnt1=cnt1+1
      End If
      If code=528 Or code=540 Or code=552 then        '---登陆成功计数
       cnt2=cnt2+1
      End If
      If (code>=529 And code<=537) Or code=539 Or code=548 Or code=549 then '---登陆失败计数
       cnt3=cnt3+1
      End If
      If code=517 then              '---审核日志清除计数
       cnt4=cnt4+1
      End If
      If code=612 then              '---审核策略变更计数
       cnt5=cnt5+1
      End If
      If code=624 Or code=627 Or code=628 Or code=630 Or code=642_
       Or (code>=645 And code<=647) or code=685 then       '---用户帐号变更计数   
       cnt6=cnt6+1
      End If
     End if
    Next
    Wscript.Echo "主机 "&computer&" 【"&logfile&"】日志 "&str&" 摘要:" & " 审核成功 "&cnt0&" , 审核失败 "_
     &cnt1&" , 登陆成功 "&cnt2&" , 登陆失败 "&cnt3&" , 审核日志清除 "&cnt4&" , 审核策略变更 "&cnt5&_
     " , 用户帐号变更 "&cnt6

    对于有的服务器,这个过程可能会比较漫长,请千万要耐心.

  • 相关阅读:
    hihoCoder#1040 矩形判断
    hihoCoder#1038 01背包
    hihoCoder#1037 数字三角形
    hihoCoder#1120 小Hi小Ho的惊天大作战:扫雷·三
    hihoCoder#1119 小Hi小Ho的惊天大作战:扫雷·二
    Python核心编程读笔 3
    Python核心编程读笔 2
    EC读书笔记系列之12:条款22、23、24
    Linux程序设计 读笔2 Shell脚本
    Linux程序设计 读笔1
  • 原文地址:https://www.cnblogs.com/encounter/p/2188544.html
Copyright © 2011-2022 走看看