Как отключить системный журнал 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
- удалить EventLog из DependOnService
- перезапустить окна
и не забудьте удалить 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 или не отключите его (всегда включено), вы все равно можете использовать старый скрипт, чтобы еще больше подавить регистраторы.