Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!
Автоматическая установка операционных систем семейства Windows требует от системного администратора тщательной проработки всех этапов выполнения. Давно интересуюсь данной темой, однако, в ходе многолетнего опыта по созданию собственных настроенных и обновлённых сборок Windows мной был упущен аспект работы с Планировщиком заданий. Разработчики Windows закладывают задачи, выполняемые в будущем по-расписанию, но ненужные и порой вредные «рядовому» пользователю. Список этих задач предлагаю к рассмотрению и обсуждению в данной статье.
Я уже писал здесь статьи про быструю и тонкую настройку операционной системы путём применения собранных мной твиков реестра, также была серия статей посвященных работе с образом Windows посредством DISM, где выкладывались мои скрипты: добавления пакетов обновлений, отключения компонентов, удаления «магазинных» приложений, получения информации из образа Windows. Скрипт приведённый в этой статье элементарный, основной интерес направлен на сам список задач, которые я предлагаю убрать из Планировщика заданий.
Запуск под учётной записью администратора приводит к выполнению последовательности команд schtasks с аргументом /Delete (удалить) последующее имя задачи за аргументом /tn. Ключ /f подавляет вывод уведомлений о подтверждении. Достаточно одного выполнения скрипта, а повторные запуски лишь отобразят список ошибок из-за невозможности удалить то, чего уже нет. Скрипт не наделён «интерактивностью», так как используется в процессе автоматической установки Windows.
Список задач, подлежащих удалению данным скриптом, составлен для следующих версий ОС: Windows 7 Professional VL SP1 (updated Jan 2020 — End of Support), Windows 8.1 Professional VL Update3 (updated Jan 2023 — End of Support), Windows 10 v1607 Enterprise LTSB (updated Jan 2023). Изначально хотел написать отдельные скрипты для каждой версии Windows, но увидел, что список задач значительно повторяется и поэтому объединил в один. В планах добавить в список ненужные задачи из следующих версий ОС: Windows 10 v1809 Enterprise LTSC, Windows 10 v21H2 Professional BE (business editions) — на базе которых также делаю свои сборки.
Чтобы не запутаться в списке задач — откуда каждая из них взялась и стоит ли её удалять — в комментарии, в конце строки каждой команды можно видеть подсказку в каких версиях Windows удаляемая задача встречается. Это удобно для анализа и редактирования списка. Также присутствует алфавитная сортировка задач, с группировкой разделов по первой букве. Взгляните, в Windows 7 ненужных задач было не много — всего 22, в Windows 8.1 их уже стало 30, в Windows 10 LTSB уже 41! Страшно представить сколько «мусора» в Планировщике заданий я обнаружу в версии Windows 10 Enterprise LTSC и особенно в Windows 10 21H2.
Я составлял данный список путём вдумчивого чтения описания каждой задачи и анализа параметров её запуска. За дополнительной информацией обращался к источникам в Интернете, в том числе англоязычным, в том числе официальным. Не всегда мне удавалось найти однозначный ответ на вопрос: «стоит удалять данную задачу или нет?». Бывало так, что описание у задачи отсутствовало, параметры запуска скрыты, триггеры срабатывания отсутствуют, но при этом задача почему-то выполнялась. В сети Интернет не нашел аналогичного списка с развёрнутой дискуссией обсуждения целесообразности включения в него тех или иных задач.
Консольная команда schtasks имеет полный набор аргументов для управления Планировщиком заданий Windows. В ходе поиска информации по отдельным задачам в сети Интернет мне попадались скрипты других авторов, где ненужные задачи отключались (подаргумент /disable аргумента /Change). Я использую более радикальный подход — просто удаляю (аргумент /Delete) ненужные мне задачи. Ведь вариант «отключение» подразумевает что мне когда-нибудь понадобится включить некоторую задачу. Не представляю себе ситуацию, когда мне понадобится снова включить, например, уведомление об окончании срока поддержки или телеметрию. Что скажете?
Какие задачи в Планировщике заданий принимать к рассмотрению? Рассмотрим какие задачи бывают, в каком состоянии и насколько открыты. На начальном этапе были мысли написать простой скрипт, который бы удалял вообще все задачи (без разбора), но данный подход опасен тем, что может привести к снижению производительности и надёжности системы, так что пришлось разбираться. Итак:
Конечно, представленный мной список может быть не полным или наоборот избыточным. Есть вероятность, что я не распознал в какой-то задаче «скрытого пожирателя ресурсов» или наоборот включил в список задачу удаление которой скорее навредит работоспособности ОС. Прошу аргументированно высказывать своё мнение, делится опытом. В данном ключе обсуждение может начинаться по двум сценариям:
Список составлен для компьютера предназначенного для домашнего использования. Прошу к рассмотрению и обсуждению!
Я уже писал здесь статьи про быструю и тонкую настройку операционной системы путём применения собранных мной твиков реестра, также была серия статей посвященных работе с образом Windows посредством DISM, где выкладывались мои скрипты: добавления пакетов обновлений, отключения компонентов, удаления «магазинных» приложений, получения информации из образа Windows. Скрипт приведённый в этой статье элементарный, основной интерес направлен на сам список задач, которые я предлагаю убрать из Планировщика заданий.
Скрипт
@echo off
schtasks /Delete /tn "\Microsoft\Windows\AppID\SmartScreenSpecific" /f &rem - 9 B
schtasks /Delete /tn "\Microsoft\Windows\Application Experience\AitAgent" /f &rem 7 9 -
schtasks /Delete /tn "\Microsoft\Windows\Application Experience\Microsoft Compatibility Appraiser" /f &rem 7 9 B
schtasks /Delete /tn "\Microsoft\Windows\Application Experience\ProgramDataUpdater" /f &rem 7 9 B
schtasks /Delete /tn "\Microsoft\Windows\Application Experience\StartupAppTask" /f &rem - 9 B
schtasks /Delete /tn "\Microsoft\Windows\ApplicationData\appuriverifierdaily" /f &rem - - B
schtasks /Delete /tn "\Microsoft\Windows\ApplicationData\appuriverifierinstall" /f &rem - - B
schtasks /Delete /tn "\Microsoft\Windows\Autochk\Proxy" /f &rem 7 9 B
schtasks /Delete /tn "\Microsoft\Windows\Customer Experience Improvement Program\BthSQM" /f &rem - 9 -
schtasks /Delete /tn "\Microsoft\Windows\Customer Experience Improvement Program\Consolidator" /f &rem 7 9 B
schtasks /Delete /tn "\Microsoft\Windows\Customer Experience Improvement Program\KernelCeipTask" /f &rem 7 9 B
schtasks /Delete /tn "\Microsoft\Windows\Customer Experience Improvement Program\UsbCeip" /f &rem 7 9 B
schtasks /Delete /tn "\Microsoft\Windows\Defrag\ScheduledDefrag" /f &rem 7 9 B
schtasks /Delete /tn "\Microsoft\Windows\Device Information\Device" /f &rem - - B
schtasks /Delete /tn "\Microsoft\Windows\Diagnosis\Scheduled" /f &rem 7 9 B
schtasks /Delete /tn "\Microsoft\Windows\DiskDiagnostic\Microsoft-Windows-DiskDiagnosticDataCollector" /f &rem 7 9 B
schtasks /Delete /tn "\Microsoft\Windows\LanguageComponentsInstaller\Installation" /f &rem - - B
schtasks /Delete /tn "\Microsoft\Windows\LanguageComponentsInstaller\Uninstallation" /f &rem - - B
schtasks /Delete /tn "\Microsoft\Windows\Maintenance\WinSAT" /f &rem 7 9 B
schtasks /Delete /tn "\Microsoft\Windows\Maps\MapsToastTask" /f &rem - - B
schtasks /Delete /tn "\Microsoft\Windows\Maps\MapsUpdateTask" /f &rem - - B
schtasks /Delete /tn "\Microsoft\Windows\Mobile Broadband Accounts\MNO Metadata Parser" /f &rem - 9 B
schtasks /Delete /tn "\Microsoft\Windows\MobilePC\HotStart" /f &rem 7 - -
schtasks /Delete /tn "\Microsoft\Windows\MUI\LPRemove" /f &rem 7 9 B
schtasks /Delete /tn "\Microsoft\Windows\NetTrace\GatherNetworkInfo" /f &rem 7 9 B
schtasks /Delete /tn "\Microsoft\Windows\Power Efficiency Diagnostics\AnalyzeSystem" /f &rem 7 9 B
schtasks /Delete /tn "\Microsoft\Windows\RAC\RacTask" /f &rem 7 9 -
schtasks /Delete /tn "\Microsoft\Windows\RemoteAssistance\RemoteAssistanceTask" /f &rem 7 9 B
schtasks /Delete /tn "\Microsoft\Windows\RetailDemo\CleanupOfflineContent" /f &rem - - B
schtasks /Delete /tn "\Microsoft\Windows\SettingSync\BackgroundUploadTask" /f &rem - 9 B
schtasks /Delete /tn "\Microsoft\Windows\SettingSync\BackupTask" /f &rem - 9 B
schtasks /Delete /tn "\Microsoft\Windows\SettingSync\NetworkStateChangeTask" /f &rem - 9 B
schtasks /Delete /tn "\Microsoft\Windows\Setup\EOSNotify" /f &rem 7 9 -
schtasks /Delete /tn "\Microsoft\Windows\Setup\EOSNotify2" /f &rem 7 9 -
schtasks /Delete /tn "\Microsoft\Windows\Setup\SetupCleanupTask" /f &rem - 9 B
schtasks /Delete /tn "\Microsoft\Windows\Speech\SpeechModelDownloadTask" /f &rem - - B
schtasks /Delete /tn "\Microsoft\Windows\SystemRestore\SR" /f &rem 7 9 B
schtasks /Delete /tn "\Microsoft\Windows\Time Synchronization\SynchronizeTime" /f &rem 7 9 B
schtasks /Delete /tn "\Microsoft\Windows\Windows Error Reporting\QueueReporting" /f &rem 7 9 B
schtasks /Delete /tn "\Microsoft\Windows\WindowsBackup\ConfigNotification" /f &rem 7 - -
schtasks /Delete /tn "\Microsoft\Windows\WS\License Validation" /f &rem - 9 -
schtasks /Delete /tn "\Microsoft\Windows\WS\WSRefreshBannedAppsListTask" /f &rem - 9 -
schtasks /Delete /tn "\Microsoft\XblGameSave\XblGameSaveTask" /f &rem - - B
schtasks /Delete /tn "\Microsoft\XblGameSave\XblGameSaveTaskLogon" /f &rem - - B
timeout 3 > nul
Использование
Запуск под учётной записью администратора приводит к выполнению последовательности команд schtasks с аргументом /Delete (удалить) последующее имя задачи за аргументом /tn. Ключ /f подавляет вывод уведомлений о подтверждении. Достаточно одного выполнения скрипта, а повторные запуски лишь отобразят список ошибок из-за невозможности удалить то, чего уже нет. Скрипт не наделён «интерактивностью», так как используется в процессе автоматической установки Windows.
Применимость
Список задач, подлежащих удалению данным скриптом, составлен для следующих версий ОС: Windows 7 Professional VL SP1 (updated Jan 2020 — End of Support), Windows 8.1 Professional VL Update3 (updated Jan 2023 — End of Support), Windows 10 v1607 Enterprise LTSB (updated Jan 2023). Изначально хотел написать отдельные скрипты для каждой версии Windows, но увидел, что список задач значительно повторяется и поэтому объединил в один. В планах добавить в список ненужные задачи из следующих версий ОС: Windows 10 v1809 Enterprise LTSC, Windows 10 v21H2 Professional BE (business editions) — на базе которых также делаю свои сборки.
Комментирование
Чтобы не запутаться в списке задач — откуда каждая из них взялась и стоит ли её удалять — в комментарии, в конце строки каждой команды можно видеть подсказку в каких версиях Windows удаляемая задача встречается. Это удобно для анализа и редактирования списка. Также присутствует алфавитная сортировка задач, с группировкой разделов по первой букве. Взгляните, в Windows 7 ненужных задач было не много — всего 22, в Windows 8.1 их уже стало 30, в Windows 10 LTSB уже 41! Страшно представить сколько «мусора» в Планировщике заданий я обнаружу в версии Windows 10 Enterprise LTSC и особенно в Windows 10 21H2.
Откуда список
Я составлял данный список путём вдумчивого чтения описания каждой задачи и анализа параметров её запуска. За дополнительной информацией обращался к источникам в Интернете, в том числе англоязычным, в том числе официальным. Не всегда мне удавалось найти однозначный ответ на вопрос: «стоит удалять данную задачу или нет?». Бывало так, что описание у задачи отсутствовало, параметры запуска скрыты, триггеры срабатывания отсутствуют, но при этом задача почему-то выполнялась. В сети Интернет не нашел аналогичного списка с развёрнутой дискуссией обсуждения целесообразности включения в него тех или иных задач.
Удаление или отключение?
Консольная команда schtasks имеет полный набор аргументов для управления Планировщиком заданий Windows. В ходе поиска информации по отдельным задачам в сети Интернет мне попадались скрипты других авторов, где ненужные задачи отключались (подаргумент /disable аргумента /Change). Я использую более радикальный подход — просто удаляю (аргумент /Delete) ненужные мне задачи. Ведь вариант «отключение» подразумевает что мне когда-нибудь понадобится включить некоторую задачу. Не представляю себе ситуацию, когда мне понадобится снова включить, например, уведомление об окончании срока поддержки или телеметрию. Что скажете?
Вердикт на удаление
Какие задачи в Планировщике заданий принимать к рассмотрению? Рассмотрим какие задачи бывают, в каком состоянии и насколько открыты. На начальном этапе были мысли написать простой скрипт, который бы удалял вообще все задачи (без разбора), но данный подход опасен тем, что может привести к снижению производительности и надёжности системы, так что пришлось разбираться. Итак:
- Состояние — Отключено
Я не включал в список на удаление задачи в состоянии «Отключено». Как правило это либо «артефакты» прошлых версий Windows, либо уже отключенные самими разработчиками посредством пакетов обновлений, либо ещё что... - Бесполезное обслуживание
Это пример задач которые запускают ежедневное/еженедельное выполнение различных служб в назначенное время, как правило ночью. Как итог, эти задачи не выполняются так как ночью мой компьютер («рядового» пользователя) отключён. Также мне не надо чтобы днём отвлекались ресурсы моего компьютера. - Телеметрия
Это страшное слово знакомо многим системным администраторам и не только. Значительная часть удаляемых по моему списку задач относится к средствам телеметрии и слежения за пользователем со стороны компании Майкрософт. Мой компьютер — это МОЙ КОМПЬЮТЕР! - «Тёмные лошадки»
Самая сложная категория задач. Как правило, много их появилось в версии Windows 10. Отличительные особенности: описание размыто или отсутствует, параметры запуска скрыты, триггеры срабатывания отсутствуют, но при этом задача каким-то чудом регулярно запускается, о чём указано в поле «Время прошлого запуска».
Обсуждение
Конечно, представленный мной список может быть не полным или наоборот избыточным. Есть вероятность, что я не распознал в какой-то задаче «скрытого пожирателя ресурсов» или наоборот включил в список задачу удаление которой скорее навредит работоспособности ОС. Прошу аргументированно высказывать своё мнение, делится опытом. В данном ключе обсуждение может начинаться по двум сценариям:
- Вы включили в список задачу «X», удаление которой приведёт к следующим негативным последствиям...
- Вы не включили в список задачу «Y», которая является вредной, так как выполняет следующие действия...
Список составлен для компьютера предназначенного для домашнего использования. Прошу к рассмотрению и обсуждению!