IT技术博客 - 云计算大数据-技术分享

本站域名目前不进行商业运作。

Windows服务器日志存档

2021-4-8 . Windows系统

 相关配置操作如下:

1、 安全日志放大至1GB,存满后停止记录(存满会有一条ID1104的日志记录)

2、 新建计划任务,触发条件是出现ID1104的日志;

3、 计划任务启动E:\Windows_logs\LOG_BACKUP.CMD脚本。此脚本会调用powershell运行该目录下的syslog.ps1脚本完成日志的完整导出、清除安全日志动作;

4、 导出的日志存放在E:\Windows_logs\[当前年月日]\[服务器名称+当前年月日时分秒].evt文件下

以下是ps1脚本,根据实际位置需自行修改。

# Config
$logFileName = "security" # Add Name of the Logfile (System, Application, etc)
$path = "\\127.0.0.1\Windows_logs$\" # Add Path, needs to end with a backsplash
$hostname = hostname
$directory = (get-date -f yyyyMMdd)
$a = test-path($path + $directory+"`\")
if(test-path($path + $directory)){} else{new-item -Type Directory ($path + $directory)}
# do not edit
$exportFileName = $hostname + "_" +$logFileName + (get-date -f yyyyMMddhhmmss) + ".evt"
$logFile = Get-WmiObject Win32_NTEventlogFile | Where-Object {$_.logfilename -eq $logFileName}
$logFile.backupeventlog($path + $directory+"`\" + $exportFileName)
if(test-path ($path + $directory+"`\" + $exportFileName)){Clear-Eventlog -LogName $logFileName}
wevtutil.exe cl "Security"
exit




以下是导出的文件进行zip打包
$path = "E:\Windows_logs"
$directory = (get-date -f yyyyMMddhhmmss)
$sourcefolder = $path +"`\" + $directory
$destinationzip = $sourcefolder + ".zip"
[reflection.assembly]::LoadWithPartialName("system.io.compression.filesystem")
[System.IO.Compression.ZipFile]::CreateFromDirectory($sourcefolder,$destinationzip)

标签: Windows 备份 日志 存档 计划任务 触发条件