Freigeben über


Limit-EventLog

Legt die Ereignisprotokolleigenschaften fest, die die Größe des Ereignisprotokolls und das Alter der Einträge begrenzen.

Syntax

Limit-EventLog
     [-LogName] <String[]>
     [-ComputerName <String[]>]
     [-RetentionDays <Int32>]
     [-OverflowAction <OverflowAction>]
     [-MaximumSize <Int64>]
     [-WhatIf]
     [-Confirm]
     [<CommonParameters>]

Beschreibung

Das Cmdlet Limit-EventLog legt die maximale Größe eines klassischen Ereignisprotokolls fest, wie lange jedes Ereignis beibehalten werden muss und was geschieht, wenn das Protokoll seine maximale Größe erreicht. Sie können es verwenden, um die Ereignisprotokolle auf lokalen oder Remotecomputern einzuschränken.

Die Cmdlets, die das EventLog-Substantiv (die EventLog-Cmdlets) 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 Get-WinEvent.

Beispiele

Beispiel 1: Vergrößern der Größe eines Ereignisprotokolls

Limit-EventLog -LogName "Windows PowerShell" -MaximumSize 20KB

Dieser Befehl erhöht die maximale Größe des Windows PowerShell-Ereignisprotokolls auf dem lokalen Computer auf 20480 Bytes (20 KB).

Beispiel 2: Aufbewahren eines Ereignisprotokolls für eine angegebene Dauer

Limit-EventLog -LogName Security -ComputerName "Server01", "Server02" -RetentionDays 7

Mit diesem Befehl wird sichergestellt, dass Ereignisse im Sicherheitsprotokoll auf den Computern Server01 und Server02 mindestens 7 Tage lang aufbewahrt werden.

Beispiel 3: Ändern der Überlaufaktion aller Ereignisprotokolle

$Logs = Get-EventLog -List | foreach {$_.Log}
Limit-EventLog -OverflowAction OverwriteOlder -LogName $Logs
Get-EventLog -List

Max(K) Retain OverflowAction     Entries  Log
------ ------ --------------     -------  ---
15,168      0 OverwriteOlder       3,412  Application
512         0 OverwriteOlder           0  DFS Replication
512         0 OverwriteOlder          17  DxStudio
10,240      7 OverwriteOlder           0  HardwareEvents
512         0 OverwriteOlder           0  Internet Explorer
512         0 OverwriteOlder           0  Key Management Service
16,384      0 OverwriteOlder           4  ODiag
16,384      0 OverwriteOlder         389  OSession Security
15,168      0 OverwriteOlder      19,360  System
15,360      0 OverwriteOlder      15,828  Windows PowerShell

In diesem Beispiel wird die Überlaufaktion aller Ereignisprotokolle auf dem lokalen Computer in OverwriteOlder geändert.

Der erste Befehl ruft die Protokollnamen aller Protokolle auf dem lokalen Computer ab. Der zweite Befehl legt die Überlaufaktion fest. Der dritte Befehl zeigt die Ergebnisse an.

Parameter

-ComputerName

Gibt Remotecomputer an. Der Standardwert ist der lokale Computer.

Geben Sie den NetBIOS-Namen, eine IP-Adresse (Internet Protocol) oder einen vollqualifizierten Domänennamen (Fully Qualified Domain Name, FQDN) eines Remotecomputers ein. Um den lokalen Computer anzugeben, geben Sie den Computernamen, einen Punkt (.) oder localhost ein.

Dieser Parameter basiert nicht auf Windows PowerShell-Remoting. Sie können den ComputerName Parameter von Limit-EventLog verwenden, auch wenn Ihr Computer nicht für die Ausführung von Remotebefehlen konfiguriert ist.

Typ:String[]
Aliase:CN
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-Confirm

Fordert Sie vor dem Ausführen des Cmdlets zur Bestätigung auf.

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

-MaximumSize

Gibt die maximale Größe der Ereignisprotokolle in Byte an. Geben Sie einen Wert zwischen 64 Kb (KB) und 4 Gigabyte (GB) ein. Der Wert muss durch 64 KB (65536) divisierbar sein.

Dieser Parameter gibt den Wert der MaximumKilobytes Eigenschaft des System.Diagnostics.EventLog--Objekts an, das ein klassisches Ereignisprotokoll darstellt.

Typ:Int64
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-OverflowAction

Gibt an, was passiert, wenn das Ereignisprotokoll seine maximale Größe erreicht.

Die zulässigen Werte für diesen Parameter sind:

  • DoNotOverwrite: Vorhandene Einträge werden beibehalten, und neue Einträge werden verworfen.
  • OverwriteAsNeeded: Jeder neue Eintrag überschreibt den ältesten Eintrag.
  • OverwriteOlder: Neue Ereignisse überschreiben Ereignisse, die älter als der durch die MinimumRetentionDays-Eigenschaft angegebene Wert sind. Wenn keine Ereignisse vorhanden sind, die vom MinimumRetentionDays Eigenschaftswert angegeben sind, werden neue Ereignisse verworfen.

Dieser Parameter gibt den Wert der OverflowAction-Eigenschaft des System.Diagnostics.EventLog--Objekts an, das ein klassisches Ereignisprotokoll darstellt.

Typ:OverflowAction
Aliase:OFA
Zulässige Werte:OverwriteOlder, OverwriteAsNeeded, DoNotOverwrite
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-RetentionDays

Gibt die Mindestanzahl von Tagen an, die ein Ereignis im Ereignisprotokoll verbleiben muss.

Dieser Parameter gibt den Wert der MinimumRetentionDays- eigenschaft des System.Diagnostics.EventLog-Objekts an, das ein klassisches Ereignisprotokoll darstellt.

Typ:Int32
Aliase:MRD
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-WhatIf

Zeigt, was passiert, 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

Sie können keine Eingabe an dieses Cmdlet weiterleiten.

Ausgaben

None

Dieses Cmdlet generiert keine Ausgabe.

Hinweise

  • Um dieses Cmdlet unter Windows Vista und höheren Versionen von Windows zu verwenden, öffnen Sie Windows PowerShell mit der Option "Als Administrator ausführen".

    Dieses Cmdlet ändert die Eigenschaften des System.Diagnostics.EventLog--Objekts, das ein klassisches Ereignisprotokoll darstellt. Geben Sie Get-EventLog -Listein, um die aktuellen Einstellungen der Ereignisprotokolleigenschaften anzuzeigen.