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 Remove-EventLog
Cmdlet löscht eine Ereignisprotokolldatei von einem lokalen oder Remotecomputer und hebt die Registrierung aller 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 in klassischen Ereignisprotokollen. Um Ereignisse aus Protokollen abzurufen, die die Windows-Ereignisprotokolltechnologie in Windows Vista und höheren Versionen des Windows-Betriebssystems verwenden, verwenden Sie Get-WinEvent.
Warnung
Dieses Cmdlet kann Ereignisprotokolle des Betriebssystems löschen, was zu Anwendungsfehlern und unerwartetem Systemverhalten führen kann.
Beispiele
Beispiel 1: Entfernen eines Ereignisprotokolls vom lokalen Computer
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
Remove-EventLog -LogName "MyLog", "TestLog" -ComputerName "Server01", "Server02", "localhost"
Mit diesem Befehl werden die Ereignisprotokolle "MyLog" und "TestLog" vom lokalen Computer und den Remotecomputern Server01 und Server02 gelöscht. Der Befehl hebt auch die Registrierung der Ereignisquellen für diese Protokolle auf.
Beispiel 3: Löschen einer Ereignisquelle
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 keine Ereignisprotokolle schreiben.
Beispiel 4: Entfernen eines Ereignisprotokolls und Bestätigen der Aktion
Diese Befehle zeigen, wie Sie die Ereignisprotokolle auf einem Computer auflisten und überprüfen, ob ein Remove-EventLog
Befehl erfolgreich war.
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
Mit dem ersten Befehl werden die Ereignisprotokolle auf dem lokalen Computer aufgelistet.
Der zweite Befehl löscht das Ereignisprotokoll %%amp;quot;ZapLog%%amp;quot;.
Mit dem dritten Befehl werden die Ereignisprotokolle erneut aufgeführt. Das Ereignisprotokoll %%amp;quot;ZapLog%%amp;quot; wird nicht mehr in der Liste angezeigt.
Beispiel 5: Entfernen einer Ereignisquelle und Bestätigen der Aktion
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
Diese Befehle verwenden das Get-WmiObject
Cmdlet, um die Ereignisquellen auf dem lokalen Computer aufzulisten. 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 Remove-EventLog
zum Löschen der MyApp-Ereignisquelle.
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 Parameter Remove-EventLog
"ComputerName" auch dann verwenden, wenn Ihr Computer nicht für die Ausführung von Remotebefehlen konfiguriert ist.
Typ: | String[] |
Aliase: | CN |
Position: | 1 |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Confirm
Hiermit werden Sie vor der Ausführung des Cmdlets zur Bestätigung aufgefordert.
Typ: | SwitchParameter |
Aliase: | cf |
Position: | Named |
Standardwert: | False |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-LogName
Gibt die Ereignisprotokolle an. Geben Sie den Protokollnamen eines oder mehrerer Ereignisprotokolle ein, getrennt durch Kommas. Der Protokollname ist der Wert der Log-Eigenschaft , nicht der LogDisplayName, Wildcardzeichen sind nicht zulässig. Dieser Parameter ist erforderlich.
Typ: | String[] |
Aliase: | LN |
Position: | 0 |
Standardwert: | None |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Source
Gibt die Ereignisquellen an, die durch dieses Cmdlet die Registrierung aufgehoben werden. Geben Sie die Quellnamen und nicht den ausführbaren Namen ein, getrennt durch Kommas.
Typ: | String[] |
Aliase: | SRC |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-WhatIf
Zeigt, was geschieht, wenn das Cmdlet ausgeführt wird. Das Cmdlet wird nicht ausgeführt.
Typ: | SwitchParameter |
Aliase: | wi |
Position: | Named |
Standardwert: | False |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
Eingaben
None
Eingaben können nicht an dieses Cmdlet weitergereicht werden.
Ausgaben
None
Dieses Cmdlet gibt keine Ausgabe zurück.
Hinweise
Wenn Sie windows Vista und höhere Versionen des Windows-Betriebssystems verwenden möchten
Remove-EventLog
, 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.