일반적으로 컴퓨터 관리 콘솔을 열고 이벤트 뷰어 스냅인으로 이동하여 Windows 로그 폴더를 열고 Application/Security/Setup/System
하위 폴더를 마우스 오른쪽 단추로 클릭 한 다음 로그 지우기를 선택하고 Clear
또는 Save and Clear
버튼 을 눌러 확인할 수 있습니다 .
충분한 권한이 있으면 확인 요청을하지 않으면 서 명령 줄을 사용하여 동일한 효과를 얻을 수 있습니까?
답변
파워 쉘.
PS C:\>Clear-Eventlog -Log Application, System
기본값은 프롬프트 는 아니지만 프롬프트를 표시하려는 경우 -Confirm 스위치를 제공 할 수 있습니다.
편집하다:
Get-WinEvent -ListLog Application,Setup,Security -Force | % { Wevtutil.exe cl $_.Logname }
의견에 따르면 운영 로그와 관리 로그가 모두 있어야합니다.
답변
wevtutil enum-logs
로그를 wevtutil clear-log
지우는 동안 시스템의 모든 로그를 열거합니다 . 귀하의 경우 다음과 같습니다.
wevtutil clear-log Application
wevtutil clear-log Security
wevtutil clear-log Setup
wevtutil clear-log System
지우면서 백업 할 수도 있습니다 wevtutil clear-log System /backup:backup.evtx
답변
답변
다음 PowerShell 은 “wevtutil”프로세스를 인스턴스화하지 않고 프로그래밍 방식으로 운영 / 디버그 / 설정 로그를 포함 하여 로컬 컴퓨터의 모든 이벤트 로그를 지 웁니다 . 하나의 로그 만 지우려면 코드를 적절히 수정하십시오. 그러나 완벽하지는 않지만 디버그 로그가 무언가에 의해 열린 상태로 유지되므로 오류가 발생하지 않습니다.
$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 "$_"}