Backup e cancellazione eventi di Windows
Alcune volte mi e' capitato di voler pulire gli eventi di Windows, senza pero perderne traccia, in caso di necessita.
In questi casi si puo fare un backup del registro, e quindi svuotarlo.
Siccome i registri degli eventi sono molti, fare l'operazione a mano potrebbe richiedere molto tempo.
Fare l'operazione tramite script, e' invece un'operazione molto veloce e rapida.
Bisogna ricordarsi di eseguire lo script come amministratore
La prima versione esporta i registri degli eventi.
La seconda li esporta e li svuota.
Il path dove esportarli deve essere un percorso valido.
Al nome dei file esportati vengono anteposti la data e l'ora.
VERSIONE SOLO BACKUP
$datetime=((get-date).ToString("yyyyMMdd_HHmmss_"))
Get-winevent -Listlog * | select Logname, Logfilepath | ForEach-Object -Process {
$name = $datetime + $_.Logname
$safename = $name.Replace("/","-")
wevtutil.exe EPL $name C:\Users\Owner\Desktop\eventlogs\$safename.evtx
}
VERSIONE BACKUP E CANCELLAZIONE
<#$datetime=((get-date).ToString("yyyyMMdd_HHmmss_"))
Get-winevent -Listlog * | select Logname, Logfilepath | ForEach-Object -Process {
$name = $_.Logname
$safename = $datetime + $_.Logname
$safename = $safename.Replace("/","-")
#Write-Output $safename
wevtutil.exe EPL $name C:\temp\Backupevents\$safename.evtx
}#>
$datetime=((get-date).ToString("yyyyMMdd_HHmmss_"))
Get-winevent -Listlog * | select Logname, Logfilepath | ForEach-Object -Process {
$name = $_.Logname
$safename = $datetime + $_.Logname
$safename = $safename.Replace("/","-")
wevtutil.exe EPL $name C:\temp\Backupevents\$safename.evtx
wevtutil cl $name
}
REFERENCE
https://stackoverflow.com/questions/1954203/timestamp-on-file-name-using-powershell
https://serverfault.com/questions/843645/need-a-backup-of-entire-event-log-of-windows-servers-using-cmd-or-powershell
Nessun commento:
Posta un commento