Clear-EventLog
删除本地或远程计算机上的指定事件日志中的所有条目。
语法
Clear-EventLog [-LogName] <string[]> [[-ComputerName] <string[]>] [-Confirm] [-WhatIf] [<CommonParameters>]
说明
Clear-EventLog cmdlet 将删除本地计算机或远程计算机上的指定事件日志中的所有条目。要使用 Clear-EventLog,您必须是受影响的计算机上的 Administrators 组的成员。
包含 EventLog 名词的 cmdlet (EventLog cmdlet) 仅适用于传统事件日志。要从使用 Windows Vista 以及 Windows 更高版本中的 Windows 事件日志技术的日志中获取事件,请使用 Get-WinEvent。
参数
-ComputerName <string[]>
指定远程计算机。默认值为本地计算机。
键入远程计算机的 NetBIOS 名称、Internet 协议 (IP) 地址或完全限定的域名。要指定本地计算机,请键入计算机名称、句点 (.) 或“localhost”。
此参数不依赖于 Windows PowerShell 远程处理。即使您的计算机未配置为运行远程命令,您也可以使用 Get-EventLog 的 ComputerName 参数。
是否为必需? |
false |
位置? |
2 |
默认值 |
本地计算机 |
是否接受管道输入? |
true (ByPropertyName) |
是否接受通配符? |
false |
-LogName <string[]>
指定事件日志。输入一个或多个事件日志的日志名称(Log 属性的值,而不是 LogDisplayName),名称之间用逗号分隔。不允许使用通配符。此参数是必需的。
是否为必需? |
true |
位置? |
1 |
默认值 |
|
是否接受管道输入? |
true (ByPropertyName) |
是否接受通配符? |
false |
-Confirm
在执行命令之前提示您进行确认。
是否为必需? |
false |
位置? |
named |
默认值 |
|
是否接受管道输入? |
false |
是否接受通配符? |
false |
-WhatIf
描述如果执行该命令会发生什么情况(无需实际执行该命令)。
是否为必需? |
false |
位置? |
named |
默认值 |
|
是否接受管道输入? |
false |
是否接受通配符? |
false |
<CommonParameters>
此 cmdlet 支持通用参数:-Verbose、-Debug、-ErrorAction、-ErrorVariable、-OutBuffer 和 -OutVariable。有关详细信息,请参阅 about_Commonparameters.
输入和输出
输入类型是指可通过管道传递给 cmdlet 的对象的类型。返回类型是指 Cmdlet 所返回对象的类型。
输入 |
无 不能通过管道将对象传递给 Clear-EventLog。 |
输出 |
无 此 cmdlet 将不产生任何输出。 |
说明
要在 Windows Vista 以及 Windows 的更高版本上使用 Clear-EventLog,请使用“以管理员身份运行”选项启动 Windows PowerShell。
示例 1
C:\PS>clear-eventlog "Windows PowerShell"
说明
-----------
此命令将删除本地计算机上的“Windows PowerShell”事件日志中的条目。
示例 2
C:\PS>clear-eventlog -logname ODiag, OSession -computername localhost, Server02
说明
-----------
此命令将删除本地计算机和 Server02 远程计算机上的 Microsoft Office 诊断 (ODiag) 和 Microsoft Office 会话 (OSession) 日志中的所有条目。
示例 3
C:\PS>clear-eventlog -log application, system -confirm
说明
-----------
此命令将在删除指定事件日志中的条目之前提示您进行确认。
示例 4
C:\PS>function clear-all-event-logs ($computerName="localhost")
{
$logs = get-eventlog -computername $computername -list | foreach {$_.Log}
$logs | foreach {clear-eventlog -comp $computername -log $_ }
get-eventlog -computername $computername -list
}
C:\PS> clear-all-event-logs -comp Server01
Max(K) Retain OverflowAction Entries Log
------ ------ -------------- ------- ---
15,168 0 OverwriteAsNeeded 0 Application
15,168 0 OverwriteAsNeeded 0 DFS Replication
512 7 OverwriteOlder 0 DxStudio
20,480 0 OverwriteAsNeeded 0 Hardware Events
512 7 OverwriteOlder 0 Internet Explorer
20,480 0 OverwriteAsNeeded 0 Key Management Service
16,384 0 OverwriteAsNeeded 0 Microsoft Office Diagnostics
16,384 0 OverwriteAsNeeded 0 Microsoft Office Sessions
30,016 0 OverwriteAsNeeded 1 Security
15,168 0 OverwriteAsNeeded 2 System
15,360 0 OverwriteAsNeeded 0 Windows PowerShell
说明
-----------
此函数将清除指定计算机上的所有事件日志,然后显示生成的事件日志列表。
请注意,在清除系统和安全日志之后但在显示它们之前,向其中添加了几个条目。
另请参阅
概念
Get-EventLog
Limit-EventLog
New-EventLog
Remove-EventLog
Show-EventLog
Write-EventLog
Get-WinEvent