26430 Letture

Come estrarre dal registro degli eventi di Windows solo ciò che interessa ed inviarlo via e-mail

Il registro degli eventi di Windows, enormemente migliorato in Windows 7 (Visualizzatore eventi), è una vastissima miniera di informazioni sullo stato del sistema che, spesso, permette di individuare per tempo e prevenire anche quei problemi che potrebbero manifestarsi in futuro.
C'è un'interessante utilità, chiamata MyEventViewer e sviluppata da NirSoft, che consente di esportare facilmente i file di log generati da Windows salvandoli sotto forma di file testuali. Il software, completamente gratuito, è stato concepito come alternativa al registro degli eventi del sistema operativo permettendo la visualizzazione di tutti gli eventi in un'unica finestra. Il vantaggio di MyEventViewer è anche quello di poter essere utilizzato direttamente dalla riga di comando: un'opportunità ghiotta se si desidera realizzare uno script in grado di estrapolare solo gli eventi d'interesse.

La procedura che ci accingiamo ad illustrare, vi permetterà di creare uno script – di immediato utilizzo – che potrà essere sfrutatto per essere informati circa le problematiche che potrebbero via a via presentarsi sui vari sistemi client e server Windows. Lo script, dà modo di essere informati circa l'installazione di nuovi prodotti, il manifestarsi di errori di sistema o di avvisi generati da Windows. Attivando l'invio via e-mail, si potrà ricevere un report periodico su ciò che di strano accade sui vari sistemi amministrati.


Il primo passo da compiere consiste nello scaricare questo file compresso e memorizzarne il contenuto in una cartella di propria scelta, sul disco fisso (ad esempio, c:\myeventviewer).

Nella stessa cartella, quindi, si dovrà estrarre il contenuto di questo file Zip ottenendo quanto segue:

Come si vede, sono stati agginti un file di configurazione (config.ini) e lo script VBS che si occupa di generare il report d'interesse (notificalog.vbs).

Aprendo il file config.ini con un normale editor di testo, si potrà regolare il funzionamento dello script. Le impostazioni principali riguardano il fronte temporale per la generazione dei dati del report. In particolare, i parametri TimeInterval e TimeValue - se regolati, rispettivamente, a 3 ed 1, consentono di estrarre gli eventi memorizzati da Windows nell'ultimo giorno. Ad esempio, se lo script venisse eseguito alle ore 12 dell'11/08/2011, verrebbero automaticamente estratti dai log tutti gli eventi registrati nel corso delle precedenti 24 ore. Lasciando impostato TimeInterval a 3 e digitando 7 in corrispondenza di TimeValue, lo script recupererebbe gli eventi registrati da Windows durante l'ultima settimana.

Il successivo parametro Logs dà modo di indicare quali tipologie di log debbono essere analizzate. Le stringhe da specificare in quest'impostazione (di default abbiamo richiesto di specificare solo gli eventi relativi a sistema (System) ed applicazioni (Application), sono verificabili accedendo al Visualizzatore eventi di Windows.

Cliccando col tasto destro del mouse su una delle "macrocategorie" del registro degli eventi, quindi scegliendo la voce Proprietà, si troverà il nome che dovrà essere indicato nel parametro Logs:

Agendo sul parametro Tipi, invece, si possono definire le tipologie degli eventi ai quali si è interessati. Nell'esempio, abbiamo richiesto solo le notifiche circa errori (Error) ed avvisi (Warning) ma è ovviamente possibile inserire altre tipi di eventi (Information, Success e così via).

La sezione MAILING del file di configurazione, permette di attivare l'invio del report attraverso un normale messaggio di posta elettronica.
Per abilitare questa funzionalità, è sufficiente impostare a 1 il valore del parametro attivato quindi impostare le altre direttive (mittente, destinatario dell'e-mail, server SMTP da utilizzare e porta corrispondente).

Facendo doppio clic sul file notificalog.vbs e rispondendo affermativamente alla comparsa della finestra UAC di Windows, si noterà come – nella stessa cartella – venga automaticamente prodotto il report desiderato (file Eventi_log seguito dall'indicazione della data ed ora di generazione. Tale file viene memorizzato in formato CSV: ciò significa che può essere aperto utilizzando un software per la creazione di fogli elettronici come Excel o Calc (di LibreOffice od OpenOffice.org).
In fase di importazione del documento, si dovrà aver cura di specificare che trattasi di un file contenente una serie di campi separati da virgole:

Utilizzando l'Utilità di pianificazione di Windows, sarà poi possibile configurare l'esecuzione automatica dello script VBS che provvede a generare il report ed a spedirlo all'indirizzo e-mail indicato.
Nel caso di un sistema Windows 7, ad esempio, basta avviare l'Utilità di pianificazione, cliccare su Crea attività..., assegnare un nome alla stessa (es. Generazione log), attivare l'opzione Esegui indipendentemente dalla connessione degli utenti e spuntare la casella Esegui con i privilegi più elevati:

E' bene verificare di aver segnalato un account utente dotato dei diritti di amministratore.


Agendo sulla scheda Attivazione, si potrà definire – per esempio – la frequenza con cui lo script dovrà generare il report a partire dai file di log di Windows.

Nella scheda Azione, è indispensabile cliccare sul pulsante Nuova, scegliere Avvio programma dal menù Operazione, cliccare su Sfoglia quindi selezionare lo script notificalog.vbs.

Ci preme sottolineare come lo script notificalog.vbs sia un file assolutamente benigno. Eventuali segnalazioni da parte di software antivirus circa il contenuto di tale file sono da considerarsi come “falsi positivi” ossia segnalazioni del tutto errate. Al momento, solamente il motore antivirus di Dr.Web commette un errore (vi invitiamo a fare riferimento all'analisi su VirusTotal).


  1. Avatar
    vincenzo cappai
    26/07/2012 20:47:07
    Complimenti per la chiarezza dell'esposizione e la professionalità
Come estrarre dal registro degli eventi di Windows solo ciò che interessa ed inviarlo via e-mail - IlSoftware.it