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 -List
ein, um die aktuellen Einstellungen der Ereignisprotokolleigenschaften anzuzeigen.