Freigeben über


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-EventLogCmdlet 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-EventLogBefehl 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.