Remove-EventLog
Elimina un registro eventi o annulla la registrazione di un'origine evento.
Sintassi
Remove-EventLog
[[-ComputerName] <String[]>]
[-LogName] <String[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Remove-EventLog
[[-ComputerName] <String[]>]
[-Source <String[]>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Descrizione
Il Remove-EventLog
cmdlet elimina un file di log eventi da un computer locale o remoto e annulla la registrazione di tutte le relative origini eventi per il log. È possibile usare questo cmdlet anche per annullare la registrazione di origini eventi senza eliminare alcun registro eventi.
I cmdlet che contengono il sostantivo EventLog , i cmdlet EventLog , funzionano solo nei registri eventi classici. Per ottenere eventi dai log che usano la tecnologia Registro eventi di Windows in Windows Vista e versioni successive del sistema operativo Windows, usare Get-WinEvent.
Avviso
Questo cmdlet può eliminare i registri eventi del sistema operativo, che potrebbero causare errori dell'applicazione e comportamento imprevisto del sistema.
Esempio
Esempio 1: Rimuovere un registro eventi dal computer locale
Remove-EventLog -LogName "MyLog"
Questo comando elimina il registro eventi MyLog dal computer locale e annulla la registrazione delle origini eventi.
Esempio 2: Rimuovere un registro eventi da diversi computer
Remove-EventLog -LogName "MyLog", "TestLog" -ComputerName "Server01", "Server02", "localhost"
Questo comando elimina i registri eventi MyLog e TestLog dal computer locale e dai computer remoti Server01 e Server02. Il comando annulla inoltre la registrazione delle origini eventi per questi registri.
Esempio 3: Eliminare un'origine evento
Remove-EventLog -Source "MyApp"
Questo comando elimina l'origine evento MyApp dai registri nel computer locale. Al termine del comando, il programma MyApp non può scrivere in alcun registro eventi.
Esempio 4: Rimuovere un registro eventi e confermare l'azione
Questi comandi mostrano come elencare i registri eventi in un computer e verificare che un Remove-EventLog
comando abbia avuto esito positivo.
Get-EventLog -List
Max(K) Retain OverflowAction Entries Log
------ ------ -------------- ------- ---
15,168 0 OverwriteAsNeeded 22,923 Application
15,168 0 OverwriteAsNeeded 53 DFS Replication
15,168 7 OverwriteOlder 0 Hardware Events
512 7 OverwriteOlder 0 Internet Explorer
20,480 0 OverwriteAsNeeded 0 Key Management Service
30,016 0 OverwriteAsNeeded 50,060 Security
15,168 0 OverwriteAsNeeded 27,592 System
15,360 0 OverwriteAsNeeded 18,355 Windows PowerShell
15,168 7 OverwriteAsNeeded 12 ZapLog
Remove-EventLog -LogName "ZapLog"
Get-EventLog -List
Max(K) Retain OverflowAction Entries Log
------ ------ -------------- ------- ---
15,168 0 OverwriteAsNeeded 22,923 Application
15,168 0 OverwriteAsNeeded 53 DFS Replication
15,168 7 OverwriteOlder 0 Hardware Events
512 7 OverwriteOlder 0 Internet Explorer
20,480 0 OverwriteAsNeeded 0 Key Management Service
30,016 0 OverwriteAsNeeded 50,060 Security
15,168 0 OverwriteAsNeeded 27,592 System
15,360 0 OverwriteAsNeeded 18,355 Windows PowerShell
Il primo comando elenca i registri eventi nel computer locale.
Il secondo comando elimina il registro eventi ZapLog.
Il terzo comando elenca nuovamente i registri eventi. Il registro eventi ZapLog non compare più nell'elenco.
Esempio 5: Rimuovere un'origine evento e confermare l'azione
Get-WmiObject win32_nteventlogfile -Filter "logfilename='TestLog'" | foreach {$_.sources}
MyApp
TestApp
Remove-Eventlog -Source "MyApp"
Get-WmiObject win32_nteventlogfile -Filter "logfilename='TestLog'"} | foreach {$_.sources}
TestApp
Questi comandi usano il Get-WmiObject
cmdlet per elencare le origini eventi nel computer locale. È possibile usare questi comandi per verificare se un comando è riuscito o per eliminare un'origine evento.
Il primo comando ottiene le origini eventi del registro eventi TestLog nel computer locale. MyApp è una delle origini.
Il secondo comando usa il parametro Source di Remove-EventLog
per eliminare l'origine evento MyApp.
Il terzo comando è identico al primo. Mostra che l'origine evento MyApp è stata eliminata.
Parametri
-ComputerName
Specifica un computer remoto. Il valore predefinito è il computer locale.
Digitare il nome NetBIOS, un indirizzo IP o un nome di dominio completo di un computer remoto. Per specificare il computer locale, digitare il nome del computer, un punto (.) o localhost.
Questo parametro non si basa sulla comunicazione remota di Windows PowerShell. È possibile utilizzare il parametro ComputerName di Remove-EventLog
anche se il computer non è configurato per eseguire comandi remoti.
Tipo: | String[] |
Alias: | CN |
Posizione: | 1 |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-Confirm
Richiede conferma prima di eseguire il cmdlet.
Tipo: | SwitchParameter |
Alias: | cf |
Posizione: | Named |
Valore predefinito: | False |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-LogName
Specifica i registri eventi. Immettere il nome del log di uno o più registri eventi, separati da virgole. Il nome del log è il valore della proprietà Log , non dei caratteri LogDisplayName, i caratteri jolly non sono consentiti. Questo parametro è obbligatorio.
Tipo: | String[] |
Alias: | LN |
Posizione: | 0 |
Valore predefinito: | None |
Necessario: | True |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-Source
Specifica le origini evento annullate dalla registrazione di questo cmdlet. Immettere i nomi di origine, non il nome eseguibile, separato da virgole.
Tipo: | String[] |
Alias: | SRC |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-WhatIf
Mostra gli effetti dell'esecuzione del cmdlet. Il cmdlet non viene eseguito.
Tipo: | SwitchParameter |
Alias: | wi |
Posizione: | Named |
Valore predefinito: | False |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
Input
None
Non è possibile inviare input tramite pipe a questo cmdlet.
Output
None
Questo cmdlet non restituisce alcun output.
Note
Per usare
Remove-EventLog
in Windows Vista e versioni successive del sistema operativo Windows, avviare Windows PowerShell usando l'opzione Esegui come amministratore.Se si rimuove un registro eventi e quindi lo si ricrea, non sarà possibile registrare le stesse origini eventi. Le applicazioni che usavano le origini eventi per scrivere voci nel registro originale non saranno in grado di scrivere nel nuovo registro.
Quando si annulla la registrazione di un'origine evento per un determinato registro, l'origine evento potrebbe non essere più in grado di scrivere voci in altri registri eventi.