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 cmdlet Remove-EventLog elimina un file di registro 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.
ATTENZIONE: 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
PS C:\> 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
PS C:\> 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
PS C:\> 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
The first command lists the event logs on the local computer.
PS C:\> 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
The second command deletes the ZapLog event log.
PS C:\> Remove-EventLog -LogName "ZapLog"
The third command lists the event logs again. The ZapLog event log no longer appears in the list.
PS C:\> 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
Questi comandi illustrano come elencare i registri eventi in un computer e verificare che un comando Remove-EventLog sia riuscito.
Esempio 5: Rimuovere un'origine evento e confermare l'azione
PS C:\> Get-WmiObject win32_nteventlogfile -Filter "logfilename='TestLog'" | foreach {$_.sources}
MyApp
TestApp
PS C:\> Remove-Eventlog -Source "MyApp"
PS C:\> Get-WmiObject win32_nteventlogfile -Filter "logfilename='TestLog'"} | foreach {$_.sources}
TestApp
Questi comandi usano il cmdlet Get-WmiObject 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.
Type: | String[] |
Aliases: | CN |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Confirm
Richiede la conferma dell'utente prima di eseguire il cmdlet.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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 i caratteri LogDisplayName, i caratteri jolly non sono consentiti. Questo parametro è obbligatorio.
Type: | String[] |
Aliases: | LN |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Source
Specifica le origini evento annullate dalla registrazione di questo cmdlet. Immettere i nomi di origine, non il nome eseguibile, separati da virgole.
Type: | String[] |
Aliases: | SRC |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WhatIf
Mostra l'esito in caso di esecuzione del cmdlet. Il cmdlet non viene eseguito.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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.