mercoledì 15 luglio 2020

BACKUP E CANCELLAZIONE EVENTI WINDOWS

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