Clear-EventLog
清除本地或远程计算机上指定事件日志中的所有条目。
语法
Clear-EventLog
[-LogName] <String[]>
[[-ComputerName] <String[]>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
说明
Clear-EventLog
cmdlet 会删除本地计算机或远程计算机上的指定事件日志中的所有条目。 若要使用 Clear-EventLog
,则必须是受影响计算机上 Administrators 组的成员。
包含 EventLog
名词的 cmdlet (EventLog
cmdlet) 仅适用于传统事件日志。 若要从那些使用 Windows Vista 及 Windows 更高版本中的 Windows 事件日志技术的日志中获取事件,请使用 Get-WinEvent
cmdlet。
示例
示例1:从本地计算机中清除特定的事件日志类型
Clear-EventLog "Windows PowerShell"
此命令会清除本地计算机上的“Windows PowerShell”事件日志中的条目。
示例 2:从本地和远程计算机中清除特定的多个日志类型
Clear-EventLog -LogName ODiag, OSession -ComputerName localhost, Server02
此命令将清除本地计算机和 Server02 远程计算机上的 Microsoft Office 诊断 (ODiag) 和 Microsoft Office 会话 (OSession) 日志中的所有条目。
示例 3:清除指定计算机上的所有日志,然后显示事件日志列表
Clear-EventLog -LogName application, system -confirm
此命令将在删除指定事件日志中的条目之前提示你进行确认。
示例 4:清除指定计算机上的所有日志,然后显示事件日志列表
function clear-all-event-logs ($computerName="localhost")
{
$logs = Get-EventLog -ComputerName $computername -List | ForEach-Object {$_.Log}
$logs | ForEach-Object {Clear-EventLog -ComputerName $computername -LogName $_ }
Get-EventLog -ComputerName $computername -list
}
clear-all-event-logs -ComputerName 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
此函数将清除指定计算机上的所有事件日志,然后显示生成的事件日志列表。
请注意,在清除系统和安全日志之后但在显示它们之前,向其中添加了几个条目。
参数
-ComputerName
指定远程计算机。 默认为本地计算机。
键入远程计算机的 NetBIOS 名称、Internet 协议 (IP) 地址或完全限定的域名。 若要指定本地计算机,请键入计算机名称、点 (.
) 或 localhost
。
此参数不依赖于 Windows PowerShell 远程处理。 即使你的计算机未配置为运行远程命令,你也可以使用 Get-EventLog
的 ComputerName 参数。
类型: | String[] |
别名: | Cn |
Position: | 1 |
默认值: | Local computer |
必需: | False |
接受管道输入: | True |
接受通配符: | False |
-Confirm
提示你在运行 cmdlet 之前进行确认。
类型: | SwitchParameter |
别名: | cf |
Position: | Named |
默认值: | False |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-LogName
指定事件日志。 输入一个或多个事件日志的日志名称(Log 属性的值;而不是 LogDisplayName),名称之间用逗号分隔。 不允许使用通配符。 此参数是必需的。
重要
此参数应按属性名称接受管道中的值。 然而,有错误阻止了此参数的工作。 必须直接使用参数传递值。
类型: | String[] |
别名: | LN |
Position: | 0 |
默认值: | None |
必需: | True |
接受管道输入: | True |
接受通配符: | False |
-WhatIf
显示运行该 cmdlet 时会发生什么情况。 cmdlet 未运行。
类型: | SwitchParameter |
别名: | wi |
Position: | Named |
默认值: | False |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
输入
None
不能通过管道将对象传递给 Clear-EventLog
。
输出
None
此 cmdlet 将不生成任何输出。
备注
- 若要在 Windows Vista 和更高版本的 Windows 上使用
Clear-EventLog
,请使用“以管理员身份运行”选项启动 Windows PowerShell。