Answers:
电源外壳。
PS C:\>Clear-Eventlog -Log Application, System
缺省情况是不提示您,但是如果要提示您可以提供-Confirm开关。
编辑:
Get-WinEvent -ListLog Application,Setup,Security -Force | % { Wevtutil.exe cl $_.Logname }
根据评论,应该同时获得操作日志和管理日志。
以下PowerShell会以编程方式清除本地计算机上的所有事件日志,包括以编程方式清除操作/调试/设置日志(无需实例化“ wevtutil”过程)。要仅清除一个日志,请相应地修改代码。这并不完美,但是,有时Debug日志会由于某种原因而保持打开状态,并且不会产生任何错误。
$EventLogs=Get-WinEvent -Force -ListLog *
$EventSession=new-object System.Diagnostics.Eventing.Reader.EventLogSession
foreach ($Log in $EventLogs) {
if ($Log.IsEnabled) {
if ($Log.RecordCount -gt 0) {
if ($Log.LogType -eq "Debug") {
$Log.IsEnabled=$false
$Log.SaveChanges()
$EventSession.ClearLog($Log.LogName)
$Log.IsEnabled=$true
$Log.SaveChanges()
}
else { $EventSession.ClearLog($Log.LogName) }
}
}
这是通过Powershell清除所有事件日志的方法,请确保您以管理员身份运行它
wevtutil el | Foreach-Object {wevtutil cl "$_"}
powershell -Command "Clear-Eventlog -Log Application, System"
工作。但是对于安装程序日志,它说The Log name "Setup" does not exist in the computer "localhost".
:-(关于如何清除安装程序日志的任何想法吗?