Limit-EventLog

设置用于限制事件日志大小及其条目期限的事件日志属性。

语法

Default (默认值)

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

说明

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

包含 EventLog 名词(EventLog cmdlet)的 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

此命令可确保服务器01 和 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 名称、Internet 协议(IP)地址或完全限定的域名(FQDN)。 若要指定本地计算机,请键入计算机名称、点(.)或 localhost。

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

参数属性

类型:

String[]

默认值:None
支持通配符:False
不显示:False
别名:中国区

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-Confirm

在运行 cmdlet 之前,提示你进行确认。

参数属性

类型:SwitchParameter
默认值:False
支持通配符:False
不显示:False
别名:cf

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-LogName

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

参数属性

类型:

String[]

默认值:None
支持通配符:False
不显示:False
别名:LN

参数集

(All)
Position:0
必需:True
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-MaximumSize

指定事件日志的最大大小(以字节为单位)。 输入介于 64 KB 和 4 GB 之间的值。 该值必须以 64 KB(65536)分隔。

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

参数属性

类型:Int64
默认值:None
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-OverflowAction

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

此参数的可接受值为:

  • DoNotOverwrite:保留现有条目,并丢弃新条目。
  • OverwriteAsNeeded:每个新条目覆盖最早的条目。
  • OverwriteOlder:新事件覆盖早于 MinimumRetentionDays 属性指定的值的事件。 如果没有早于 MinimumRetentionDays 属性值指定的事件,则丢弃新事件。

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

参数属性

类型:OverflowAction
默认值:None
接受的值:OverwriteOlder, OverwriteAsNeeded, DoNotOverwrite
支持通配符:False
不显示:False
别名:OFA

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-RetentionDays

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

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

参数属性

类型:Int32
默认值:None
支持通配符:False
不显示:False
别名:MRD

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-WhatIf

显示 cmdlet 运行时会发生什么情况。 命令脚本未运行。

参数属性

类型:SwitchParameter
默认值:False
支持通配符:False
不显示:False
别名:无线

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

CommonParameters

此 cmdlet 支持通用参数:-Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction 和 -WarningVariable。 有关详细信息,请参阅 about_CommonParameters

输入

None

不能通过管道将输入传递给此 cmdlet。

输出

None

此 cmdlet 不生成任何输出。

备注

  • 若要在 Windows Vista 和更高版本的 Windows 上使用此 cmdlet,请使用“以管理员身份运行”选项打开 Windows PowerShell。

    此 cmdlet 更改表示经典事件日志的 System.Diagnostics.EventLog 对象的属性。 若要查看事件日志属性的当前设置,请键入 Get-EventLog -List