Trong một số trường hợp, cần phải xóa tất cả các mục nhập khỏi nhật ký sự kiện Windows trên máy tính hoặc máy chủ. Tất nhiên, bạn có thể xóa nhật ký hệ thống khỏi GUI của bảng điều khiển Trình xem sự kiện— Eventvwr.msc (bấm chuột phải vào nhật ký bạn muốn xóa và chọn Xóa nhật ký ). Tuy nhiên, bắt đầu với Vista, Windows đã sử dụng hàng chục nhật ký cho các thành phần hệ thống khác nhau và việc xóa tất cả chúng trong Event Viewer theo cách thủ công sẽ rất mất thời gian. Xóa nhật ký khỏi dấu nhắc lệnh dễ dàng hơn nhiều:sử dụng PowerShell hoặc công cụ bảng điều khiển tích hợp sẵn wevtutil .
Xóa nhật ký sự kiện bằng PowerShell
Nếu bạn đã cài đặt PowerShell 3 (theo mặc định, nó được cài đặt trong Windows 8 / Windows Server trở lên), bạn có thể sử dụng Get-EventLog và Clear-EventLog lệnh ghép ngắn để lấy danh sách nhật ký sự kiện và xóa chúng.
Khởi động bảng điều khiển PowerShell với các đặc quyền của quản trị viên và sử dụng lệnh sau, hiển thị danh sách tất cả các bản ghi sự kiện tiêu chuẩn trong hệ thống với kích thước tối đa và số lượng sự kiện.
Get-EventLog –LogName *
Để xóa tất cả các mục nhập khỏi nhật ký sự kiện cụ thể (ví dụ:Nhật ký hệ thống), hãy sử dụng lệnh sau:
Clear-EventLog –LogName System
Do đó, tất cả các sự kiện của nhật ký này sẽ bị xóa và sẽ chỉ có một sự kiện với EventId 104 và thông báo “ Tệp nhật ký hệ thống đã bị xóa “ .
Để xóa tất cả nhật ký sự kiện, bạn phải chuyển hướng tên nhật ký đến đường dẫn, nhưng rất tiếc, điều đó bị cấm. Vì vậy, chúng ta sẽ phải sử dụng chu trình ForEach:
Get-EventLog -LogName * | ForEach { Clear-EventLog $_.Log }
Do đó, tất cả nhật ký sự kiện tiêu chuẩn sẽ bị xóa.
Xóa Nhật ký Sử dụng công cụ bảng điều khiển WevtUtil.exe
Để làm việc với các sự kiện, từ lâu trong Windows đã có tiện ích nhắc lệnh mạnh mẽ WevtUtil.exe . Cú pháp của nó là một chút phức tạp cho cái nhìn đầu tiên. Ví dụ ở đây trả về trợ giúp của các tiện ích:
Để hiển thị danh sách nhật ký đã đăng ký trong hệ thống, hãy chạy lệnh sau:
WevtUtil enum-logs
hoặc phiên bản ngắn hơn của nó:
WevtUtil el
Một danh sách nhật ký khá ấn tượng sẽ được hiển thị trên màn hình.
Lưu ý . Bạn có thể đếm có bao nhiêu nhật ký bằng cách sử dụng lệnh sau:WevtUtil el | Measure-Object. Trong trường hợp của tôi, có 1.053 nhật ký khác nhau trong Windows 10.
Bạn có thể nhận được thông tin chi tiết trên nhật ký cụ thể:
WevtUtil gl Setup
Đây là cách bạn xóa các sự kiện trong nhật ký cụ thể:
WevtUtil cl Setup
Trước khi xóa các sự kiện, bạn có thể sao lưu chúng bằng cách lưu vào tệp:
WevtUtil cl Setup /bu:SetupLog_Bak.evtx
Để xóa tất cả nhật ký cùng một lúc, bạn có thể sử dụng Get-WinEvent Lệnh ghép ngắn PowerShell để lấy tất cả các đối tượng nhật ký và Wevtutil.exe để xóa chúng:
Get-WinEvent -ListLog * -Force | % { Wevtutil.exe cl $_.LogName }
hoặc
Wevtutil el | ForEach { wevtutil cl “$_”}
Bạn cũng có thể xóa nhật ký bằng cách sử dụng dấu nhắc lệnh tiêu chuẩn:
for /F "tokens=*" %1 in ('wevtutil.exe el') DO wevtutil.exe cl "%1"