Изчистване на регистрационните файлове на Windows с PowerShell и wevtutil

В някои случаи искате да изтриете всички записи в дневника на събитията на Windows на компютър или сървър. Разбира се, почистването на системните регистрационни файлове може да се извърши и от графичното прихващане на събитието. -  Eventvwr.msc (RMB в желания журнал -> Clear Log), но като се започне от Vista, Windows използва няколко десетки регистрационни файлове за различни системни компоненти и изчистването им от конзолата на Event Viewer ще бъде доста досадно. Много по-лесно е да изчистите регистрационните файлове от командния ред: използвайки PowerShell или вградената помощна програма wevtutil.

Съдържание:

  • Изчистване на дневниците на събитията с PowerShell
  • Изчистване на регистрационни файлове с помощта на конзолната програма WevtUtil.exe

Изчистване на дневниците на събитията с PowerShell

Ако сте инсталирали PowerShell 3 (по подразбиране той вече е инсталиран в Windows 8 / Windows Server 2012 и по-нова версия), можете да използвате командлети, за да получите списъка с журнали и да ги почистите. Get-EventLog и Изчисти събития.

Стартирайте конзолата PowerShell с права на администратор и използвайте следната команда, за да изброите всички класически дневници на събития в системата с техните максимални размери и броя на събитията в тях.

Get-EventLog -LogName *

За да изтриете всички събития от конкретен дневник на събития (например системния дневник), използвайте командата:

Система Clear-EventLog -LogName

В резултат на това всички събития от този дневник ще бъдат изтрити и само едно събитие от EventId ще остане в дневника на събитията 104 с текста "Файлът на системния журнал беше изчистен".

За да изчистите всички дневници на събития, трябва да пренасочите имената на журналите към тръбопровода, но за съжаление това е забранено. Следователно ще трябва да използваме цикъла ForEach:

Get-EventLog -LogName * | ForEach Clear-EventLog $ _. Log

По този начин всички класически дневници на EventLogs ще бъдат изчистени..

Изчистване на регистрационни файлове с помощта на конзолната програма WevtUtil.exe

За работа със събития в Windows, мощна програма за команден ред е достъпна от доста време. WevtUtil.Търсейки. Синтаксисът му е малко сложен на пръв поглед. Ето, например, каква помощ се връща помощната програма:

За да изброите регистрационните файлове на събитията, регистрирани в системата, изпълнете командата:

WevtUtil enum-logs

или по-кратка опция:

Wevt util el

На екрана ще се покаже доста впечатляващ списък с налични списания..

забележка. Можете да изчислите техния брой с помощта на командата WevtUtil el | Мярка-обект. В моя случай има 1 053 различни регистрационни файлове в Windows 10).

Можете да получите по-подробна информация в конкретно списание:

Настройка на WevtUtil gl

Почистването на събитията в конкретен дневник се извършва по следния начин:

Настройка на WevtUtil cl

Преди почистване можете да архивирате събитията в дневника, като ги запишете във файл:

Настройка на WevtUtil cl /bu:SetupLog_Bak.evtx

За да изчистите всички регистрационни файлове наведнъж, можете да използвате командлета Powershell получавам-WinEvent за да получите всички лог обекти и Wevtutil.exe, за да ги почистите:

Get-WinEvent -ListLog * -Force | % Wevtutil.exe cl $ _. LogName

или така

Wevtutil el | ForEach wevtutil cl “$ _”

забележка.  В нашия пример 3 регистрационни файла не могат да бъдат изчистени поради грешка в достъпа. Струва си да опитате да изчистите съдържанието на тези регистрационни файлове от конзолата за преглед на събития..

Почистването на лога може да се извърши и от класическия команден ред:

for / F "tokens = *"% 1 in ('wevtutil.exe el') DO wevtutil.exe cl "% 1"