Как отключить системный журнал Windows 10

В Windows 10 Resource Monitor я обнаружил, что системный процесс постоянно записывает C:\ProgramData\Microsoft\Windows\wfp\wfpdiag.etl примерно со скоростью 30–100 КБ / с. Это равно 1 ТБ записи в год, что нехорошо для SSD. Есть и другие записи журнала, такие как C:\Windows\System32\LogFiles***.

Хотя журналы необходимы для диагностики, их лучше включать только тогда, когда проблема уже возникла.

Можно ли отключить как можно больше системных журналов, чтобы уменьшить количество мусора, записываемого на SSD?

7 ответов

По умолчанию в Windows имеется огромное количество файлов журналов, в которые постоянно записываются данные.

Два способа остановить этот хаос :

Прекратите регистрировать «Успешный аудит» на платформе фильтрации Windows (WFP), регистрируйте только «Ошибка аудита».

  • Откройте командную строку CMD от имени администратора: нажмите Windows, введитеcmd, нажмите Ctrl+Shift+Enterи подтвердите.
  • Введите (или скопируйте/вставьте) следующее и нажмите Enter:auditpol /set /subcategory:"Filtering Platform Connection" /success:disable /failure:enable

Если это удастся, ожидайте, что будет зарегистрировано меньше событий.

Отключить отдельные журналы

  • Откройте средство просмотра событий Windows: нажмите WindowsR, введитеeventvwr.mscи нажмите Enter.
  • Прокрутите вниз доApplication and Service Logs,Microsoft,Windows,WFP.
  • Щелкните правой кнопкой мыши процесс журнала и выберитеDisable Log.

Полезным инструментом для поиска журналов событий по имени является Full Event Log View от Nirsoft .

Переходим к хардкору:

Если вы хотите отключить ведение журнала определенных событий, перейдите в «Просмотр событий» и щелкните правой кнопкой мыши журнал событий, от которого вы хотите избавиться. НажмитеEvent Properties.

Должно открыться новое окно – нажмитеXML view, где вы сможете увидеть GUID события. Попробуем найти в реестре службу регистрации событий по этому GUID. Не все события имеют этот GUID, и мы не сможем найти все GUID в реестре.

Получив GUID, мы переходим кHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\WMI\Autologger\EventLog-Systemвregedit, и мы ищем наш GUID внутри изогнутых скобок.

Если мы его найдем, мы сможем приступить к изменению ключей Enabled и EnabledProperty:

      "Enabled"=dword:0
"EnableProperty"=dword:0

Думаю, я понял, как заставить NetCore.etl записывать на жесткий диск вместо ssd. Я запустил Performance Monitor (приложение для Windows), развернувшись до Data Collector Sets | Сеансы трассировки событий, щелкните правой кнопкой мыши NetCore, выберите "Свойства" в появившемся меню, щелкните вкладку "Каталог" и перейдите к нужной папке. Время покажет, будет ли изменение постоянным, но в настоящий момент журнал записывается на мой жесткий диск E:, согласно Resource Monitor.

Если кто-то желает полностью прекратить написание NetCore.etl, нажатие кнопки "Стоп" вместо "Свойства", вероятно, остановит его. Но я менее уверен, что это изменение будет постоянным. Некоторые приложения могут перезапустить его, возможно, при следующем перезапуске Windows. Если кто-нибудь попробует это сделать, я надеюсь, что он / она опубликует результат в этой теме.

Аналогичным образом можно перенаправить (или остановить) несколько других файлов журнала.

Ре. исходное сообщение: журнал событий Windows действительно со временем записывает на диск огромное количество данных; и есть масса случаев использования, когда это очень нежелательно; например, встроенные системы, которые невозможно обслуживать, износ дисков является проблемой, а ресурсы ограничены, поэтому желательно максимально сократить все ненужные операции ввода-вывода.

Существуют также случаи использования пользователем, когда контроль над ведением журнала событий Windows не осуществляется в типичной для Microsoft манере, враждебной пользователю конструкции, поскольку больше не существует простого метода приостановки ведения журнала, когда он не нужен, нежелателен и фактически является обузой. Было много окольных попыток, таких как эта, с помощью приостановки потоков , но ни одна из них не работала надежно, просто приостановив ведение журнала событий Windows.

Один из подходов, который может сработать для тех, кто просто хочет уменьшить износ диска, - это использование Windows UWF или унифицированного фильтра записи, перенаправляющего на небольшой RAM-диск, но чтобы это работало в любом вычислительном приложении общего назначения, вам придется отредактировать обширный список исключений - - что отнимает много времени и обременительно, и опять же соответствует враждебному опыту Microsoft в отношении пользователей .

Microsoft остается совершенно глухой к этому вопросу или совершенно безразлична; Разработчики получают тот же банальный ответ « сделай этот день отличным », что и пользователи. Так что любой дешевый и грязный хак, который кто-нибудь найдет, будет только приветствоваться и оценен по достоинству.

Вы можете полностью удалить службу журнала событий и связанный с ней остаточный реестр + папку Winevt и файлы evts под Win10, если вы уверены, что не будете ее использовать.

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

в Regedit: HKLM\System\CurrentControlSet\Services\NlaSvc

  1. удалить EventLog из DependOnService
  2. перезапустить окна

и не забудьте удалить EventLog из управления компьютером (используйте mmc.exe)

Надеюсь это поможет.

Способ 1) НЕ РЕКОМЕНДУЕТСЯ: отключите службу «Журнал событий Windows» и перезагрузитесь. Но на Win7 отключится TaskScheduler (и дефрагментация диска). Хуже всего в Win10 отключить список сетей и автонастройку устройств.

Способ 2) Запустите этот пакет от имени администратора:

            rem https://docs.microsoft.com/en-us/windows/win32/fwp/auditing-and-logging
      rem https://social.technet.microsoft.com/Forums/en-US/ec2b033f-3e9b-4727-88d2-e6e358393734/how-to-disable-stop-windows-filtering-platform-filtering-platform-packet-drop
      rem  ALL
    Auditpol /set /category:* /Success:disable /failure:disable
      rem FIREWALL
    auditpol /set /subcategory:"Filtering Platform Policy Change" /success:disable /failure:disable
    auditpol /set /subcategory:"Filtering Platform Packet Drop" /success:disable /failure:disable
    auditpol /set /subcategory:"Filtering Platform Connection" /success:disable /failure:disable
    auditpol /set /subcategory:"Other Object Access Events" /success:disable /failure:disable
    auditpol /set /subcategory:"IPsec Main Mode" /success:disable /failure:disable
    auditpol /set /subcategory:"IPsec Quick Mode" /success:disable /failure:disable
    auditpol /set /subcategory:"IPsec Extended Mode" /success:disable /failure:disable
    auditpol /set /subcategory:"IPsec Driver" /success:disable /failure:disable
      rem https://thesystemengineers.wordpress.com/2014/05/08/the-best-advanced-audit-script-and-advanced-audit-policy-i-use/
      rem http://www.ultimatewindowssecurity.com/wiki/WindowsSecuritySettings/Recommended-Baseline-Audit-Policy-for-Windows-Server-2008
    auditpol /set /subcategory:"DPAPI Activity" /success:disable /failure:disable
    auditpol /set /subcategory:"Detailed Directory Service Replication" /success:disable /failure:disable
    auditpol /set /subcategory:"Directory Service Replication" /success:disable /failure:disable
    auditpol /set /subcategory:"Handle Manipulation" /success:disable /failure:disable
    auditpol /set /subcategory:"MPSSVC Rule-Level Policy Change" /success:disable /failure:disable
    auditpol /set /subcategory:"Non Sensitive Privilege Use" /success:disable /failure:disable
    auditpol /set /subcategory:"Other Policy Change Events" /success:disable /failure:enable
    auditpol /set /subcategory:"Other Privilege Use Events" /success:disable /failure:disable
    auditpol /set /subcategory:"SAM" /success:disable /failure:disable
    auditpol /set /subcategory:"Sensitive Privilege Use" /success:disable /failure:disable
      rem may be enabled on failure
    auditpol /set /subcategory:"Other System Events" /success:disable /failure:disable
      rem Usually all enabled
    auditpol /set /subcategory:"Account Lockout" /success:disable /failure:disable
    auditpol /set /subcategory:"Application Generated" /success:disable /failure:disable
    auditpol /set /subcategory:"Application Group Management" /success:disable /failure:disable
    auditpol /set /subcategory:"Audit Policy Change" /success:disable /failure:disable
    auditpol /set /subcategory:"Authentication Policy Change" /success:disable /failure:disable
    auditpol /set /subcategory:"Authorization Policy Change" /success:disable /failure:disable
    auditpol /set /subcategory:"Certification Services" /success:disable /failure:disable
    auditpol /set /subcategory:"Computer Account Management" /success:disable /failure:disable
    auditpol /set /subcategory:"Credential Validation" /success:disable /failure:disable
    auditpol /set /subcategory:"Directory Service Access" /success:disable /failure:disable
    auditpol /set /subcategory:"Directory Service Changes" /success:disable /failure:disable
    auditpol /set /subcategory:"Distribution Group Management" /success:disable /failure:disable
    auditpol /set /subcategory:"File Share" /success:disable /failure:disable
    auditpol /set /subcategory:"File System" /success:disable /failure:disable
    auditpol /set /subcategory:"Kerberos Authentication Service" /success:disable /failure:disable
    auditpol /set /subcategory:"Kerberos Service Ticket Operations" /success:disable /failure:disable
    auditpol /set /subcategory:"Kernel Object" /success:disable /failure:disable
    auditpol /set /subcategory:"Logoff" /success:disable /failure:disable
    auditpol /set /subcategory:"Logon" /success:disable /failure:disable
    auditpol /set /subcategory:"Network Policy Server" /success:disable /failure:disable
    auditpol /set /subcategory:"Other Account Logon Events" /success:disable /failure:disable
    auditpol /set /subcategory:"Other Account Management Events" /success:disable /failure:disable
    auditpol /set /subcategory:"Other Logon/Logoff Events" /success:disable /failure:disable
    auditpol /set /subcategory:"Process Creation" /success:disable /failure:disable
    auditpol /set /subcategory:"Process Termination" /success:disable /failure:disable
    auditpol /set /subcategory:"RPC Events" /success:disable /failure:disable
    auditpol /set /subcategory:"Registry" /success:disable /failure:disable
    auditpol /set /subcategory:"Security Group Management" /success:disable /failure:disable
    auditpol /set /subcategory:"Security State Change" /success:disable /failure:disable
    auditpol /set /subcategory:"Security System Extension" /success:disable /failure:disable
    auditpol /set /subcategory:"Special Logon" /success:disable /failure:disable
    auditpol /set /subcategory:"System Integrity" /success:disable /failure:disable
    auditpol /set /subcategory:"User Account Management" /success:disable /failure:disable
      rem Apply immediatly
    gpupdate /force

Способ 3) Создайте папку C:\TEMP.
Откройте regedit. Перейдите и поместите селектор на эту ветку HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\WMI\Autologger.
Щелкните правой кнопкой мыши и экспортируйте выбранную ветку в C:\TEMP\WMI_backup.reg (сохранит ее в качестве резервной копии). Щелкните правой кнопкой мыши и экспортируйте выбранную ветку в C: \TEMP\WMI_disable.reg, закройте regedit Откройте C:\TEMP\WMI_disable.reg с помощью редактора TEXTPAD:

        Search and Replace, enable Regular Expressions, SEARCH:
^(?!("Enabled"|"EnableProperty"|\[|\n|Windows)).+\n
  Replace with:
(empty)
  REPLACE ALL
  Second Search and replace, Search:
dword:.+
  Replace with:
dword:00000000
  REPLACE ALL
  Third (optional) Search and replace, Search:
(^\[.*(?:\n*\h*)*)+(^\[.*)
  Replace with:
$+
  REPLACE ALL
  Save and exit.

Примените сгенерированный .REG, некоторые ключи не будут применены, если они не будут введены как системный пользователь с помощью nirsoft Advancedrun:

      AdvancedRun_x64.exe /EXEFilename "%windir%\regedit.exe" /CommandLine "c:\TEMP\WMI_disable.reg" /RunAs 8 /Run

Замените объяснение: сначала будут удалены все строки, которые не начинаются с одного из них: [; "Включено"; «Включитьсвойство»; Окна; (пустой)

Второй поиск изменит все оставшиеся. Выполните dword:xxxxxxxxx на dword:00000000.

Третий (необязательная очистка) ищет последовательные строки, начинающиеся с [..., и оставляет последнюю

Способ 4) Делаем все то же, что Способ 3, но с ключом: [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT]

Способ 5) Примените этот файл .REG, чтобы отключить часть журнала, не сбрасывайте НАЧАЛО: EventLog-Application, EventLog-Security, EventLog-System.

          Windows Registry Editor Version 5.00

    ;* no autolog
    ; https://www.reddit.com/r/Windows10/comments/8lpttt/howto_make_w10_log_less_prune_the_amount_of/
    ; https://gist.github.com/FadeMind/9500d49948654b50aa870706a8ac9f04
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\WMI\Autologger\AITEventLog]
    ; Disables Event Trace Session in Perfmon Data Collector Sets
    "Start"=dword:00000000
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\WMI\Autologger\AppModel]
    ;+ Disables Event Trace Session in Perfmon Data Collector Sets
    "Start"=dword:00000000
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\WMI\Autologger\AppPlat]
    ;+ Disables Event Trace Session in Perfmon Data Collector Sets
    "Start"=dword:00000000
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\WMI\Autologger\Audio]
    ; Disables Event Trace Session in Perfmon Data Collector Sets
    "Start"=dword:00000000
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\WMI\Autologger\AutoLogger-Diagtrack-Listener]
    ;* Disables %systemroot%\System32\LogFiles\WMI\Diagtrack-Listener.etl
    "Start"=dword:00000000
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\WMI\Autologger\Circular Kernel Context Logger]
    ; Disables Event Trace Session in Perfmon Data Collector Sets
    "Start"=dword:00000000
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\WMI\AutoLogger\DefenderApiLogger]
    ;+ Disables Event Trace Session in Perfmon Data Collector Sets
    "Start"=dword:00000000
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\WMI\AutoLogger\DiagLog]
    ; Disables Event Trace Session in Perfmon Data Collector Sets
    "Start"=dword:00000000
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\WMI\AutoLogger\DefenderAuditLogger]
    ;+ Disables Event Trace Session in Perfmon Data Collector Sets
    "Start"=dword:00000000
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\WMI\Autologger\FamilySafetyAOT]
    ;+ Disables Event Trace Session in Perfmon Data Collector Sets
    "Start"=dword:00000000
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\WMI\Autologger\LwtNetLog]
    ;+ Disables Event Trace Session in Perfmon Data Collector Sets
    "Start"=dword:00000000
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\WMI\Autologger\NtfsLog]
    ; Disables Event Trace Session in Perfmon Data Collector Sets
    "Start"=dword:00000000
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\WMI\Autologger\RadioMgr]
    ;* Disables %SystemRoot%\System32\LogFiles\WMI\RadioMgr.etl
    "Start"=dword:00000000
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\WMI\Autologger\ReadyBoot]
    ; Disables Event Trace Session in Perfmon Data Collector Sets
    "Start"=dword:00000000
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\WMI\Autologger\SQMLogger]
    ; Disables Event Trace Session in Perfmon Data Collector Sets
    "Start"=dword:00000000
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\WMI\Autologger\UBPM]
    "Start"=dword:00000000
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\WMI\Autologger\WdiContextLog]
    ; Disables Event Trace Session in Perfmon Data Collector Sets
    "Start"=dword:00000000
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\WMI\AutoLogger\WiFiSession]
    ;+ Disables Event Trace Session in Perfmon Data Collector Sets
    "Start"=dword:00000000

спасибо другим за полезную информацию, я создал пакетный скрипт для отключения почти всех журналов.

Примечание 1. Журналы трассировки игровых служб необходимы для приложения Xbox, поэтому они не включены в мой сценарий. Если вы не используете приложение Xbox, просто удалите их или отключите игровую службу и перезагрузитесь, чтобы отключить такую ​​​​отслеживание.

Примечание 2. Трассировка UBPM не отключится, даже если вы отключите соответствующий реестр журналов событий (включен в мой сценарий). я слышал, что он связан с ядром.

Примечание 3. Для правильной работы скрипт должен запускаться как Trustedinstaller , в противном случае доступ к некоторым ключам будет запрещен. Если у вас есть путь Nsudo в переменной системной среды, сценарий запускается как Trustedinstaller с использованием Nsudo, в противном случае вам нужно вручную запустить сценарий с помощью Nsudo или AdvancedRun или т. д. как Trustedinstaller.

вот мой скрипт для автоматического поиска всех регистраторов в реестре и их отключения (я разделил его на 2 части, чтобы было легче понять, если у вас есть Nsudo, объедините 2 части в один пакетный файл, в противном случае вам нужно запустить часть 2 как Trustedinstaller вручную):

Часть 1) проверьте и запустите себя как Trustedinstaller

      @echo off
setlocal & set runState=user
whoami /groups | findstr /b /c:"Mandatory Label\High Mandatory Level" > nul && set runState=administrator
whoami /groups | findstr /b /c:"Mandatory Label\System Mandatory Level" > nul && set runState=TISYSTEM
echo [42m Running in state: "%runState%" [0m
if "%runState%"=="TISYSTEM" (goto gotTISYSTEM) else (NSudoLG.exe -U:T -P:E -UseCurrentConsole "%~0" %* && exit /b)
:gotTISYSTEM
echo [42m Running as TtustesInstaller.[0m

Часть 2) получил права Trustedinstaller (основная работа)

      @echo off
echo [33m Auto-find and Disable all WMI\AutoLogger [0m
echo [33m find all Auto-Loggers and set Enabled to 0[0m
for /f "usebackq tokens=1*" %%a in (`reg query "HKLM\SYSTEM\CurrentControlSet\Control\WMI\AutoLogger" /s /f "Enabled"^| findstr "HKEY"`) do reg add "%%a %%b" /v "Enabled" /t REG_DWORD /d 0 /f
echo.
echo [33m find all Auto-Loggers and set Start to 0[0m
for /f "usebackq tokens=1*" %%a in (`reg query "HKLM\SYSTEM\CurrentControlSet\Control\WMI\AutoLogger" /s /f "Start"^| findstr "HKEY"`) do reg add "%%a %%b" /v "Start" /t REG_DWORD /d 0 /f
echo.
echo.
echo.
echo [33m Auto-find and Disable all WINEVT [0m
echo [33m find all WINEVT items and set Enabled to 0[0m
for /f "usebackq tokens=1*" %%a in (`reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT" /s /f "Enabled"^| findstr "HKEY"`) do reg add "%%a %%b" /v "Enabled" /t REG_DWORD /d 0 /f
echo.
pause
exit

Дополнительный шаг: некоторые журналы не связаны с окнами (например, приложения .Net, которые создают некоторые журналы вC:\USERS\Your_User_Name\APPDATA\LOCAL\MICROSOFT\CLR_V4.0\USAGELOGS), как нам остановить такое? ответ: обманув Windows, я узнал об этом от кого-то на форуме Ntlite, просто удалите эту папку (напримерUSAGELOGS), затем создайте новый текстовый документ, но без расширения, а затем переименуйте его в это имя папки, Windows считает, что эта папка существует, поэтому не позволяет вам и приложениям создавать новую папку с этим именем, поэтому приложения не могут создавать журналы в этой папке :)

Я тоже пытаюсь создать сценарий для этой части, я обновлю свой пост, когда он будет готов.

Обновление 1 : используйте здесь новый сценарий , чтобы избежать проблем, которые приводят к поломке сетевого адаптера Ethernet при его отключении/включении. Если вы не используете Ethernet или не отключите его (всегда включено), вы все равно можете использовать старый скрипт, чтобы еще больше подавить регистраторы.

Другие вопросы по тегам