如果不借助WMIC来处理系统日志,在不用第三方命令行工具的情况下还是有一定的难度。
- wmic nteventlog get filename
- rem 获取系统日志类型
-
- wmic nteventlog where filename="appevent" call cleareventlog
- rem 清除应用程序日志
-
- wmic nteventlog where filename="appevent" call BackupEventlog c:\\123.evt
- rem 将应用程序日志备份到c:\123.evt
-
- WMIC NTEVENT where "eventtype<648 and eventtype>624" GET Message,TimeGenerated
- rem 获取所有事件ID大于624但小于648的日志的描述,时间。即:帐户管理事件
-
- rem 下面显示了由“审核帐户管理”安全模板设置所生成的安全事件。
- rem 624:用户帐户已创建。
- rem 627:用户密码已更改。
- rem 628:用户密码已设置。
- rem 630:用户帐户已删除。
- rem 631:全局组已创建。
- rem 632:成员已添加至全局组。
- rem 633:成员已从全局组删除。
- rem 634:全局组已删除。
- rem 635:已新建本地组。
- rem 636:成员已添加至本地组。
- rem 637:成员已从本地组删除。
- rem 638:本地组已删除。
- rem 639:本地组帐户已更改。
- rem 641:全局组帐户已更改。
- rem 642:用户帐户已更改。
- rem 643:域策略已修改。
- rem 644:用户帐户被自动锁定。
- rem 645:计算机帐户已创建。
- rem 646:计算机帐户已更改。
- rem 647:计算机帐户已删除。
- rem 648:禁用安全的本地安全组已创建。
复制代码 WMIC不能创建系统事件,创建系统事件要用到eventcreate.exe ,这个应用程序的命令行帮助很详细就不贴上来了.
另外附上一个专门清除系统日志的脚本:
- @echo off
- setlocal enabledelayedexpansion
- if "%1" == "/?" goto :help
- set log_c=%1
- set log_c=!log_c:~1,4!
- if "%1" == "-all" (
- for /f "skip=1 tokens=*" %%a in ('wmic nteventlog get filename') do call :sub %%a
- ) else (
- for /f "usebackq skip=5 tokens=3 delims= " %%a in (
- `"wmic nteventlog where filename="!log_c!event" call cleareventlog"`
- ) do (
- if "%%a" == "0;" (
- echo 清除 !log_c!event 日志成功^^!
- ) else (
- echo 清除 !log_c!event 日志失败^^!
-
- )
- )
- )
- exit /b
-
- :sub
- for /f "usebackq skip=5 tokens=3 delims= " %%a in (
- `"wmic nteventlog where filename="%1" call cleareventlog"`
- ) do (
- if "%%a" == "0;" (
- echo 清除 %1 日志成功^^!
- ) else (
- echo 清除 %1 日志成功^^!
- )
- )
- goto :eof
-
- :help
- echo 系统日志清除脚本
- echo.
- echo BY:lxzzr http://bbs.bathome.net/
- echo.
- echo usage: clog.bat -all/app/sec/sys
- echo eg: clog.bat -sec
- exit /b
复制代码
[ 本帖最后由 lxzzr 于 2009-5-9 10:02 编辑 ] |