Limit-EventLog

設定事件記錄檔屬性,以限制事件記錄檔的大小及其專案的存留期。

Syntax

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

Description

Cmdlet 會 Limit-EventLog 設定傳統事件記錄檔的大小上限、必須保留每個事件的時間長度,以及記錄達到其大小上限時會發生什麼情況。 您可以使用它來限制本機或遠端電腦上的事件記錄檔。

包含 EventLog 名詞的 Cmdlet (EventLog Cmdlet) 僅適用於傳統事件記錄檔。 若要從 Windows Vista 和更新版本的 Windows 中使用 Windows 事件記錄技術的記錄檔取得事件,請使用 Get-WinEvent

範例

範例 1:增加事件記錄檔的大小

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

此命令會將本機電腦上的 Windows PowerShell 事件記錄檔大小上限增加到 20480 位元組(20 KB)。

範例 2:保留指定持續時間的事件記錄檔

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

此命令可確保 Server01 和 Server02 電腦上的安全性記錄檔中的事件至少會保留 7 天。

範例 3:變更所有事件記錄檔的溢位動作

$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

本範例會將本機計算機上所有事件記錄檔的溢位動作變更為 OverwriteOlder。

第一個命令會取得本機計算機上所有記錄檔的記錄檔名稱。 第二個命令會設定溢位動作。 第三個命令會顯示結果。

參數

-ComputerName

指定遠端電腦。 預設是本機電腦。

輸入遠端電腦的 NetBIOS 名稱、因特網通訊協定 (IP) 位址或完整功能變數名稱 (FQDN)。 若要指定本機計算機,請輸入計算機名稱、點 (.) 或localhost。

此參數不依賴 Windows PowerShell 遠端處理。 即使您的電腦未設定為執行遠端命令,您也可以使用 Limit-EventLog ComputerName 參數。

Type:String[]
Aliases:CN
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

執行 Cmdlet 之前先提示您確認。

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-LogName

指定事件記錄檔。 輸入一或多個事件記錄檔的記錄檔名稱(Log 屬性的值,而非 LogDisplayName),並以逗號分隔。 不允許通配符。 此為必要參數。

Type:String[]
Aliases:LN
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-MaximumSize

指定以位元組為單位的事件記錄檔大小上限。 輸入介於 64 KB 和 4 GB 之間的值。 值必須以 64 KB (65536) 來分隔。

此參數會指定代表傳統事件記錄檔之 System.Diagnostics.EventLog 物件的 MaximumKilobytes 屬性值

Type:Int64
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-OverflowAction

指定事件記錄檔達到其大小上限時會發生什麼情況。

此參數可接受的值為:

  • DoNotOverwrite:會保留現有的專案,並捨棄新的專案。
  • OverwriteAsNeeded:每個新項目都會覆寫最舊的專案。
  • OverwriteOlder:新事件會覆寫早於MinimumRetentionDays 屬性所指定值的事件。 如果 MinimumRetentionDays 屬性值未指定任何早於的事件,則會捨棄新的事件。

此參數會指定代表傳統事件記錄檔之 System.Diagnostics.EventLog 物件的 OverflowAction 屬性值

Type:OverflowAction
Aliases:OFA
Accepted values:OverwriteOlder, OverwriteAsNeeded, DoNotOverwrite
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-RetentionDays

指定事件必須保留在事件記錄檔中的最小天數。

此參數會指定代表傳統事件記錄檔之 System.Diagnostics.EventLog 物件的 MinimumRetentionDays 屬性值

Type:Int32
Aliases:MRD
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

顯示執行 Cmdlet 後會發生的情況。 未執行 Cmdlet。

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

輸入

None

您無法使用管線將輸入傳送至此 Cmdlet。

輸出

None

此 Cmdlet 不會產生任何輸出。

備註

  • 若要在 Windows Vista 和更新版本的 Windows 上使用這個 Cmdlet,請使用 [以系統管理員身分執行] 選項開啟 Windows PowerShell。

    此 Cmdlet 會變更代表傳統事件記錄檔的 System.Diagnostics.EventLog 物件屬性。 若要檢視事件記錄檔屬性的目前設定,請輸入 Get-EventLog -List