# 设置变量
$backupFolderPath = “C:\事件日志备份”
$当前日期 = Get-Date
$备份路径 = 连接路径 -Path $backupFolderPath -子路径 $当前日期.ToString(“年-月-日”)
$logNames = @(“应用”, "System", “安全”)
$daysToKeep = 30
# 备份目录不存在则创建
if (!(测试路径 -Path $备份路径)) {
New-Item -Path $备份路径 -物品种类 目录 | Out-Null
}
# 备份事件日志并清除它们
foreach ($logName in $logNames) {
$exportFileName = “$logName-$($currentDate.ToString(”yyyy-MM-dd“)).evtx”
$exportFilePath = 连接路径 -Path $备份路径 -子路径 $exportFileName
# 导出日志
写主机 “将 $logName 导出到 $exportFilePath”
韦夫图尔epl $logName $exportFilePath
# 清除日志
写主机 “清除$logName事件日志”
韦夫图尔cl $logName
}
# 删除早于指定天数的备份
获取子项目 -Path $backupFolderPath -目录 | 地点对象 {
$文件夹日期 = [datetime]::精确解析($_.Name, “年-月-日”, $null)
($当前日期 - $文件夹日期).Days -gt $daysToKeep
} | 除去项目 -Recurse -Force
# 脚本结束