Remove-EventLog
Löscht ein Ereignisprotokoll oder hebt die Registrierung einer Ereignisquelle auf.
Syntax
Remove-EventLog
[[-ComputerName] <String[]>]
[-LogName] <String[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Remove-EventLog
[[-ComputerName] <String[]>]
[-Source <String[]>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Beschreibung
Das Cmdlet Remove-EventLog löscht eine Ereignisprotokolldatei von einem lokalen oder Remotecomputer und hebt die Registrierung aller zugehörigen Ereignisquellen für das Protokoll auf. Sie können mit diesem Cmdlet auch die Registrierung der Ereignisquellen aufheben, ohne Ereignisprotokolle zu löschen.
Die Cmdlets, die das EventLog-Substantiv enthalten, die EventLog-Cmdlets , funktionieren nur für klassische Ereignisprotokolle. Verwenden Sie Get-WinEvent, um Ereignisse aus Protokollen abzurufen, die die Windows-Ereignisprotokolltechnologie in Windows Vista und höheren Versionen des Windows-Betriebssystems verwenden.
ACHTUNG: Dieses Cmdlet kann Betriebssystemereignisprotokolle löschen, was zu Anwendungsfehlern und unerwartetem Systemverhalten führen kann.
Beispiele
Beispiel 1: Entfernen eines Ereignisprotokolls vom lokalen Computer
PS C:\> Remove-EventLog -LogName "MyLog"
Dieser Befehl löscht das Ereignisprotokoll %%amp;quot;MyLog%%amp;quot; vom lokalen Computer und hebt die Registrierung seiner Ereignisquellen auf.
Beispiel 2: Entfernen eines Ereignisprotokolls von mehreren Computern
PS C:\> Remove-EventLog -LogName "MyLog", "TestLog" -ComputerName "Server01", "Server02", "localhost"
Dieser Befehl löscht die Ereignisprotokolle MyLog und TestLog vom lokalen Computer und den Remotecomputern Server01 und Server02. Der Befehl hebt auch die Registrierung der Ereignisquellen für diese Protokolle auf.
Beispiel 3: Löschen einer Ereignisquelle
PS C:\> Remove-EventLog -Source "MyApp"
Dieser Befehl löscht die Ereignisquelle %%amp;quot;MyApp%%amp;quot; aus den Protokollen auf dem lokalen Computer. Wenn der Befehl abgeschlossen ist, kann das MyApp-Programm nicht in Ereignisprotokolle schreiben.
Beispiel 4: Entfernen eines Ereignisprotokolls und Bestätigen der Aktion
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
Diese Befehle zeigen, wie Sie die Ereignisprotokolle auf einem Computer auflisten und überprüfen, ob ein Remove-EventLog-Befehl erfolgreich war.
Beispiel 5: Entfernen einer Ereignisquelle und Bestätigen der Aktion
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
In diesen Befehlen werden mit dem Cmdlet %%amp;quot;Get-WmiObject%%amp;quot; die Ereignisquellen auf dem lokalen Computer aufgelistet. Sie können mit diesen Befehlen die erfolgreiche Ausführung eines Befehls überprüfen oder eine Ereignisquelle löschen.
Der erste Befehl ruft die Ereignisquellen des Ereignisprotokolls %%amp;quot;TestLog%%amp;quot; auf dem lokalen Computer ab. Eine der Quellen ist %%amp;quot;MyApp%%amp;quot;.
Der zweite Befehl verwendet den Source-Parameter von Remove-EventLog , um die MyApp-Ereignisquelle zu löschen.
Der dritte Befehl ist mit dem ersten Befehl identisch. Er zeigt, dass die Ereignisquelle %%amp;quot;MyApp%%amp;quot; gelöscht wurde.
Parameter
-ComputerName
Gibt einen Remotecomputer an. Die Standardeinstellung ist der lokale Computer.
Geben Sie den NetBIOS-Namen, eine IP-Adresse oder den vollqualifizierten Domänennamen eines Remotecomputers ein. Um den lokalen Computer anzugeben, geben Sie den Computernamen, einen Punkt (.) oder localhost ein.
Dieser Parameter beruht nicht auf Windows PowerShell-Remoting. Sie können den ComputerName-Parameter von Remove-EventLog auch dann verwenden, wenn Ihr Computer nicht für die Ausführung von Remotebefehlen konfiguriert ist.
Type: | String[] |
Aliases: | CN |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Confirm
Hiermit werden Sie vor der Ausführung des Cmdlets zur Bestätigung aufgefordert.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-LogName
Gibt die Ereignisprotokolle an. Geben Sie den Protokollnamen eines oder mehrerer Ereignisprotokolle durch Kommas getrennt ein. Der Protokollname ist der Wert der Log-Eigenschaft , nicht logDisplayName, und Dies ist nicht zulässig. Dieser Parameter ist erforderlich.
Type: | String[] |
Aliases: | LN |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Source
Gibt die Ereignisquellen an, die von diesem Cmdlet nicht mehr registriert werden. Geben Sie die Quellnamen und nicht den Namen der ausführbaren Datei durch Kommas getrennt ein.
Type: | String[] |
Aliases: | SRC |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WhatIf
Zeigt, was geschieht, wenn das Cmdlet ausgeführt wird. Das Cmdlet wird nicht ausgeführt.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Eingaben
None
Eingaben können nicht an dieses Cmdlet weitergereicht werden.
Ausgaben
None
Dieses Cmdlet gibt keine Ausgabe zurück.
Hinweise
Um Remove-EventLog unter Windows Vista und höheren Versionen des Windows-Betriebssystems zu verwenden, starten Sie Windows PowerShell mithilfe der Option Als Administrator ausführen.
Wenn Sie ein Ereignisprotokoll entfernen und das Protokoll dann neu erstellen, können Sie nicht die gleichen Ereignisquellen registrieren. Anwendungen, die die Ereignisquellen zum Schreiben von Einträgen im ursprünglichen Protokoll verwendet haben, können nicht in das neue Protokoll schreiben.
Wenn Sie die Registrierung einer Ereignisquelle für ein bestimmtes Protokoll aufheben, kann die Ereignisquelle möglicherweise keine Einträge mehr in andere Ereignisprotokolle schreiben.