Condividi tramite


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.