Freigeben über


Clear-EventLog

Löscht alle Einträge aus angegebenen Ereignisprotokollen auf den lokalen oder Remotecomputern.

Syntax

Clear-EventLog
     [-LogName] <String[]>
     [[-ComputerName] <String[]>]
     [-WhatIf]
     [-Confirm]
     [<CommonParameters>]

Beschreibung

Das Clear-EventLog Cmdlet löscht alle Einträge aus den angegebenen Ereignisprotokollen auf dem lokalen Computer oder auf Remotecomputern. Zur Verwendung Clear-EventLogmüssen Sie Mitglied der Gruppe "Administratoren" auf dem betroffenen Computer sein.

Die Cmdlets, die das EventLog Substantiv (cmdlets EventLog ) enthalten, funktionieren nur in klassischen Ereignisprotokollen. Um Ereignisse aus Protokollen abzurufen, die die Windows-Ereignisprotokolltechnologie in Windows Vista und höheren Versionen von Windows verwenden, verwenden Sie das Get-WinEvent Cmdlet.

Beispiele

Beispiel 1: Löschen bestimmter Ereignisprotokolltypen vom lokalen Computer

Clear-EventLog "Windows PowerShell"

Mit diesem Befehl werden die Einträge aus dem Windows PowerShell-Ereignisprotokoll auf dem lokalen Computer gelöscht.

Beispiel 2: Löschen bestimmter mehrerer Protokolltypen von lokalen und Remotecomputern

Clear-EventLog -LogName ODiag, OSession -ComputerName localhost, Server02

Mit diesem Befehl werden alle Einträge in den Microsoft Office Diagnostics -Protokollen (ODiag) und Microsoft Office-Sitzungen (OSession) auf dem lokalen Computer und dem Server02-Remotecomputer gelöscht.

Beispiel 3: Löschen aller Protokolle auf den angegebenen Computern und Anzeigen der Ereignisprotokollliste

Clear-EventLog -LogName application, system -confirm

Mit diesem Befehl werden Sie zur Bestätigung aufgefordert, bevor die Einträge in den angegebenen Ereignisprotokollen gelöscht werden.

Beispiel 4: Löschen aller Protokolle auf den angegebenen Computern und Anzeigen der Ereignisprotokollliste

function clear-all-event-logs ($computerName="localhost")
{
   $logs = Get-EventLog -ComputerName $computername -List | ForEach-Object {$_.Log}
   $logs | ForEach-Object {Clear-EventLog -ComputerName $computername -LogName $_ }
   Get-EventLog -ComputerName $computername -list
}

clear-all-event-logs -ComputerName Server01

Max(K) Retain OverflowAction        Entries Log
------ ------ --------------        ------- ---
15,168      0 OverwriteAsNeeded           0 Application
15,168      0 OverwriteAsNeeded           0 DFS Replication
512         7 OverwriteOlder              0 DxStudio
20,480      0 OverwriteAsNeeded           0 Hardware Events
512         7 OverwriteOlder              0 Internet Explorer
20,480      0 OverwriteAsNeeded           0 Key Management Service
16,384      0 OverwriteAsNeeded           0 Microsoft Office Diagnostics
16,384      0 OverwriteAsNeeded           0 Microsoft Office Sessions
30,016      0 OverwriteAsNeeded           1 Security
15,168      0 OverwriteAsNeeded           2 System
15,360      0 OverwriteAsNeeded           0 Windows PowerShell

Diese Funktion löscht alle Ereignisprotokolle auf den angegebenen Computern und zeigt dann die resultierende Ereignisprotokollliste an.

Beachten Sie, dass den System- und Sicherheitsprotokollen einige Einträge nach dem Löschen, aber vor dem Anzeigen der Protokolle hinzugefügt wurden.

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 localhosteinen .

Dieser Parameter beruht nicht auf Windows PowerShell-Remoting. Sie können den Parameter Get-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:Local computer
Erforderlich:False
Pipelineeingabe akzeptieren:True
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 (den Wert der Log-Eigenschaft nicht den LogDisplayName) eines oder mehrerer Ereignisprotokolle ein, getrennt durch Kommas. Platzhalterzeichen sind nicht zulässig. Dieser Parameter ist erforderlich.

Wichtig

Dieser Parameter soll Werte aus der Pipeline anhand des Eigenschaftennamens akzeptieren. Es gibt jedoch einen Fehler, der verhindert, dass dies funktioniert. Sie müssen einen Wert mithilfe des Parameters direkt übergeben.

Typ:String[]
Aliase:LN
Position:0
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:True
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

Objekte können nicht an Clear-EventLog.

Ausgaben

None

Dieses Cmdlet generiert keine Ausgabe.

Hinweise

  • Um windows Vista und höhere Versionen von Windows zu verwenden Clear-EventLog , starten Sie Windows PowerShell mit der Option "Als Administrator ausführen".