Limit-EventLog

设置限制事件日志大小及其条目存在时间的事件日志属性。

语法

Limit-EventLog [-LogName] <string[]> [-ComputerName <string[]>] [-MaximumSize <Int64>] [-OverFlowAction {<OverwriteAsNeeded> | <OverwriteOlder> | <DoNotOverwrite>}] [-RetentionDays <int>] [-Confirm] [-WhatIf] [<CommonParameters>]

说明

Limit-EventLog cmdlet 设置传统事件日志的最大大小,每个事件必须保留多长时间以及该日志达到其最大大小时会发生什么情况。您可以使用它来限制本地或远程计算机上的事件日志。

包含 EventLog 名词的 cmdlet (EventLog cmdlet) 仅适用于传统事件日志。要从使用 Windows Vista 以及 Windows 更高版本中的 Windows 事件日志技术的日志中获取事件,请使用 Get-WinEvent。

参数

-ComputerName <string[]>

指定远程计算机。默认值为本地计算机。

键入远程计算机的 NetBIOS 名称、Internet 协议 (IP) 地址或完全限定的域名。要指定本地计算机,请键入计算机名称、句点 (.) 或“localhost”。

此参数不依赖于 Windows PowerShell 远程处理。即使您的计算机未配置为运行远程命令,您也可以使用 Limit-EventLog 的 ComputerName 参数。

是否为必需?

false

位置?

named

默认值

本地计算机

是否接受管道输入?

false

是否接受通配符?

false

-LogName <string[]>

指定事件日志。输入一个或多个事件日志的日志名称(Log 属性的值,而不是 LogDisplayName),名称之间用逗号分隔。不允许使用通配符。此参数是必需的。

是否为必需?

true

位置?

1

默认值

是否接受管道输入?

false

是否接受通配符?

false

-MaximumSize <Int64>

指定事件日志的最大大小(以字节为单位)。输入一个介于 64 千字节 (KB) 和 4 千兆字节 (GB) 之间的值。该值必须能够被 64 KB (65536) 整除。

此参数指定表示传统事件日志的 System.Diagnostics.EventLog 对象的 MaximumKilobytes 属性值。

是否为必需?

false

位置?

named

默认值

是否接受管道输入?

false

是否接受通配符?

false

-OverFlowAction <OverflowAction>

指定事件日志达到其最大大小时会发生什么情况。

有效值包括:

-- DoNotOverwrite:保留现有条目并丢弃新条目。

-- OverwriteAsNeeded:每个新条目覆盖最旧条目。

-- OverwriteOlder:新事件覆盖早于 MinimumRetentionDays 属性所指定的值的事件。如果没有早于 MinimumRetentionDays 属性所指定的值的事件,则将丢弃新事件。

此参数指定表示传统事件日志的 System.Diagnostics.EventLog 对象的 OverflowAction 属性值。

是否为必需?

false

位置?

named

默认值

是否接受管道输入?

false

是否接受通配符?

false

-RetentionDays <int>

指定事件必须保留在事件日志中的最短天数。

此参数指定表示传统事件日志的 System.Diagnostics.EventLog 对象的 MinimumRetentionDays 属性值。

是否为必需?

false

位置?

named

默认值

是否接受管道输入?

false

是否接受通配符?

false

-Confirm

在执行命令之前提示您进行确认。

是否为必需?

false

位置?

named

默认值

是否接受管道输入?

false

是否接受通配符?

false

-WhatIf

描述如果执行该命令会发生什么情况(无需实际执行该命令)。

是否为必需?

false

位置?

named

默认值

是否接受管道输入?

false

是否接受通配符?

false

<CommonParameters>

此 cmdlet 支持通用参数:-Verbose、-Debug、-ErrorAction、-ErrorVariable、-OutBuffer 和 -OutVariable。有关详细信息,请参阅 about_Commonparameters.

输入和输出

输入类型是指可通过管道传递给 cmdlet 的对象的类型。返回类型是指 Cmdlet 所返回对象的类型。

输入

输出

说明

若要在 Windows Vista 以及 Windows 的更高版本上使用 Limit-EventLog,请使用“以管理员身份运行”选项打开 Windows PowerShell。

Limit-EventLog 可更改表示传统事件日志的 System.Diagnostics.EventLog 对象的属性。要查看事件日志属性的当前设置,请键入“get-eventlog -list”。

示例 1

C:\PS>limit-eventLog -logname "Windows PowerShell" -MaximumSize 20KB

说明
-----------
此命令将本地计算机上的 Windows PowerShell 事件日志的最大大小增加到 20480 字节 (20 KB)。





示例 2

C:\PS>limit-eventlog -logname Security -comp Server01, Server02 -retentionDays 7

说明
-----------
此命令确保计算机 Server01 和 Server02 上的安全日志中的事件至少保留 7 天。





示例 3

C:\PS>$logs = get-eventlog -list | foreach {$_.log}

C:\PS> limit-eventlog -overflowaction OverwriteOlder -logname $logs

C:\PS> 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”。

第一条命令获取本地计算机上所有日志的日志名称。第二条命令设置溢出操作。第三条命令显示结果。





另请参阅

概念

Clear-EventLog
Get-EventLog
Limit-EventLog
New-EventLog
Remove-EventLog
Show-EventLog
Write-EventLog
Get-WinEvent