Skip to content

Latest commit

 

History

History
680 lines (413 loc) · 69.3 KB

README_ru.md

File metadata and controls

680 lines (413 loc) · 69.3 KB
Имя Tron, автоматический скрипт для очистки ПК
Автор vocatus на old.reddit.com/r/TronScript (vocatus.gate@gmail) // PGP: 0x07d1490f82a211a2
Происхождение Почему такое название? Tron "Борется за пользователя"

НЕ СКАЧИВАЙТЕ TRON С GITHUB, ОН НЕ БУДЕТ РАБОТАТЬ!! ВАМ НУЖЕН ПОЛНЫЙ ПАКЕТ ИЗ r/TronScript

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

Содержание

  1. Краткое описание использования

  2. Работа с командной строкой

  3. Прерывание работы

  4. Заметки по Безопасному режиму

  5. Отправка отчета о проделанной работе по электронной почте

  6. Изменение стандартных параметров

  7. Выполнение пользовательских/сторонних скриптов

  8. Выполнение поставляемых обновлений WSUS Offline

  9. Целостность

  10. Лицензия

  11. Возможные трудности и поддержка

  12. Коды выхода скрипта

  13. Полное описание ВСЕХ действий

ИСПОЛЬЗОВАНИЕ

  1. СНАЧАЛА: ПЕРЕЗАГРУЗИТЕ КОМПЬЮТЕР ПЕРЕД ЗАПУСКОМ TRON. Это необходимо для завершения всех ожидающих обновлений. Если вы этого не сделаете, и компьютер перезагрузится во время выполнения Tron с ожидающими обновлениями, это может привести к блокировке системы. Повторю: очень важно перезагрузить компьютер перед запуском Tron.

  2. Загрузите Tron. Ссылки для загрузки находятся в верхнем сообщении в /r/TronScript. Если вы загрузили исполняемый файл .exe, запустите его, и он извлечет файл tron.bat и папку \resources в текущий каталог. Скопируйте оба файла на Рабочий стол целевой машины.

  3. Tron можно запустить в Windows как в безопасном режиме, так и в обычном режиме. Обычный режим рекомендуется, если система серьезно заражена.

  4. Щелкните правой кнопкой мыши по файлу tron.bat и выберите "Запуск от имени администратора"

  5. Подождите от 3 до 10 часов (это действительно занимает столько времени; не отменяйте его посередине выполнения)

    Примечание: Вам нужно будет вручную нажать "Сканировать" в окне MBAM, которое появится на этапе 3: Дезинфекция. Tron будет продолжать выполнение других задач в фоновом режиме, ожидая вашего ответа, поэтому скрипт не остановится, если вы не сможете сразу нажать "Сканировать".

  6. Перезагрузите! Перезагрузите систему перед выполнением любых других действий.

По умолчанию основной журнал находится по пути C:\logs\tron\tron.log. Если вы хотите изменить это, прочтите раздел ниже о изменении настроек по умолчанию.

В зависимости от того, насколько система заражена, выполнение может занять от 3 до 10 часов. Я лично наблюдал время от 4 до 8 часов, и один пользователь сообщил о времени выполнения 30 часов. Просто запустите и забудьте.

Если вы запустите с ключом -udl, в конце скрипта он автоматически отправит мне журналы выполнения по электронной почте. Не обязательно, но если вы можете, это будет очень ценно.

ПРИМЕЧАНИЕ: Каждый подскрипт этапа (например, stage_2_de-bloat.bat) может быть запущен отдельно от Tron. Просто не забывайте запускать их от имени администратора, если вы выбираете этот путь.

ИСПОЛЬЗОВАНИЕ В КОМАНДНОЙ СТРОКЕ

Полная поддержка использования в командной строке. Все переключатели являются необязательными и могут использоваться одновременно. *

tron.bat [ [-a | -asm] -c -d -dev -e -er -m -o -p -pmb -r -sa -sac -sap -scc -scs -sd -sdb
      -sdc -sdu -se -sk -sl -sm -sor -spr -ss -str -swu -swo -udl -v -x] | [-h]

Необязательные параметры (их можно комбинировать):

 -a   Автоматический режим (без приветственного экрана или подсказок; подразумевает -e)
 
 -asm Автоматический режим (без подсказок; подразумевает -e; перезагружает в безопасный режим)

 -c   Выгрузка конфигурации (отображение текущей конфигурации. Может использоваться с другими
      параметрами, чтобы увидеть, что БЫ произошло, но скрипт никогда не выполнится,
      если этот параметр используется)

 -d   Пробный запуск (запустить скрипт без выполнения каких-либо заданий)

 -dev Переопределение обнаружения ОС (разрешает запуск на не поддерживаемых версиях Windows)

 -e   Принять условия лицензионного соглашения (подавить экран предупреждения об отказе от ответственности)

 -er  Отправить отчет по электронной почте по завершении. Требует настройки SwithMailSettings.xml

 -m   Сохранить стандартные приложения Metro (не удалять их)

 -o   Выключить после выполнения (переопределяет -r)

 -p   Сохранить настройки энергосбережения (не возвращаться к стандартным настройкам Windows)

 -pmb Сохранить Malwarebytes (не удалять его) после завершения работы Tron
 
 -r   Автоматическая перезагрузка (автоматическая перезагрузка через 15 секунд после завершения)
 
 -sa  Пропустить ВСЕ антивирусные сканирования (AdwCleaner, KVRT, MBAM, SAV)

 -sac Пропустить сканирование AdwCleaner

 -sap Пропустить установку патчей для приложений (не патчить 7-Zip)

 -scs Пропустить пользовательские скрипты (не имеет эффекта, если вы не предоставили пользовательские скрипты)

 -scc Пропустить очистку куки (не рекомендуется, Tron автоматически сохраняет большинство обычных куки входа)

 -sd  Пропустить дефрагментацию (принудительно пропустить дефрагментацию этапа 6)

 -sdb Пропустить де-блокировку (весь процесс удаления OEM-блокировки; подразумевает -m)
 
 -sdc Пропустить очистку компонента DISM (хранилища SxS)
 
 -sdu Пропустить обновление де-блокировки. Предотвращает автоматическое обновление списков де-блокировки S2

 -se  Пропустить резервное копирование и очистку журнала событий (не очищать журналы событий Windows)

 -sk  Пропустить сканирование Kaspersky Virus Rescue Tool (KVRT)

 -sm  Пропустить установку Malwarebytes Anti-Malware (MBAM)

 -sor Пропустить удаление OneDrive, независимо от того, используется он или нет

 -spr Пропустить сброс файла подкачки (не устанавливать "Позволить Windows управлять файлом подкачки")

 -ss  Пропустить сканирование Sophos Anti-Virus (SAV)

 -str Пропустить удаление телеметрии (просто отключите телеметрию, а не удаляйте ее)

 -swu Пропустить обновления Windows полностью (игнорировать как WSUS Offline, так и онлайн методы)

 -swo Пропустить предоставленные пользователем обновления WSUS Offline (если они есть; онлайн обновления все равно выполняются)
 
 -udl Загрузить отладочные журналы. Отправить tron.log и дамп идентификатора системы разработчику Tron

 -v   Развернутый режим. Показывать как можно больше вывода. ПРИМЕЧАНИЕ: Значительно медленнее!

 -x   Автоудаление. Tron удаляет себя после выполнения и оставляет журналы нетронутыми

Различные параметры (должны использоваться отдельно):

 -h   Показать текст справки

* Вероятно, нет параметра -upm

ПРЕРЫВАНИЕ СКРИПТА

Если скрипт прерывается, например, из-за сбоя или принудительной перезагрузки (часто возникающей на этапе_2_разблокировка), просто повторно запустите tron.bat, и Tron возобновит выполнение с последнего успешно запущенного этапа.

Он также повторно использует все ранее использованные параметры командной строки при следующем запуске.

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

БЕЗОПАСНЫЙ РЕЖИМ

В старых версиях Tron (v10.3.1 и ранее) рекомендовался использовать безопасный режим по сравнению с нормальным/обычным режимом (режим загрузки Windows). Текущее рекомендуемое действие изменилось, начиная с v10.4.0, и я рекомендую сначала запускать в нормальном/обычном режиме, и пытаться запустить в безопасном режиме только в случае неудачи.

EMAIL-ОТЧЕТ

Чтобы Tron отправил отчет по электронной почте по завершении, отредактируйте этот файл:

\tron\resources\stage_7_wrap-up\email_report\SwithMailSettings.xml

Укажите ваш SMTP-сервер, имя пользователя и пароль. После указания ваших настроек вы можете использовать параметр -er, чтобы Tron отправил отчет по электронной почте. Сводные журналы (tron_removed_files.txt и tron_removed_programs.txt) также будут прикреплены.

Имейте в виду, что имя пользователя и пароль для учетной записи электронной почты будут храниться в ОБЫЧНОМ ТЕКСТЕ, поэтому не оставляйте их в системе, которой вы не доверяете.

ИЗМЕНЕНИЕ НАСТРОЕК ПО УМОЛЧАНИЮ (для продвинутых)

Если вы не хотите использовать командную строку и вам не нравятся настройки Tron по умолчанию, вы можете изменить следующие настройки по умолчанию. Имейте в виду, что переключатели командной строки всегда переопределяют соответствующий параметр по умолчанию при использовании.

Отредактируйте этот файл: \tron\resources\functions\tron_settings.bat

  • Чтобы изменить основной каталог, куда Tron выводит все свои данные, отредактируйте эту строку:

    set LOGPATH=%SystemDrive%\logs\tron
  • Чтобы изменить имя основного файла журнала, отредактируйте эту строку:

    set LOGFILE=tron.log
  • Чтобы изменить местоположение файлов, помещенных в карантин Tron (обратите внимание: в настоящее время Tron не использует это, установка не имеет эффекта):

    set QUARANTINE_PATH=%LOGPATH%\quarantine
  • Чтобы изменить расположение резервных копий, создаваемых Tron (реестр, журналы событий, схема питания и т. д.), отредактируйте эту строку:

    set BACKUPS=%LOGPATH%\backups
  • Чтобы изменить место, где Tron сохраняет необработанные журналы из различных подскриптов, отредактируйте эту строку:

    set RAW_LOGS=%LOGPATH%\raw_logs
  • Чтобы изменить, где Tron сохраняет сводные журналы, отредактируйте эту строку:

    set SUMMARY_LOGS=%LOGPATH%\summary_logs
  • Чтобы всегда запускать автоматически (без приветственного экрана, подразумевает принятие EULA), измените это на yes:

    set AUTORUN=no
  • Чтобы всегда перезагружаться в безопасном режиме для автозапуска (требуется, чтобы AUTORUN также был установлен в yes), измените это на yes:

    set AUTORUN_IN_SAFE_MODE=no
  • Чтобы выполнить пробный запуск (фактически не выполнять задания), измените это на yes:

    set DRY_RUN=no
  • Чтобы переопределить обнаружение ОС (разрешить Tron запускаться на не поддерживаемых версиях Windows), измените это на yes:

    set DEV_MODE=no
  • Чтобы постоянно принимать Лицензионное соглашение конечного пользователя (подавлять отображение предупреждения об отказе от ответственности), измените это на yes:

    set EULA_ACCEPTED=no
  • Чтобы иметь Tron отправлять отчет по электронной почте по завершении, измените это на yes (требует настройки SwithMailSettings.xml с вашей информацией SMTP):

    set EMAIL_REPORT=no
  • Чтобы сохранить стандартные приложения Metro (не удалять их), измените это на yes:

    set PRESERVE_METRO_APPS=no
  • Чтобы выключить компьютер по завершении Tron, измените это на yes:

    set AUTO_SHUTDOWN=no
  • Чтобы сохранить схему энергосбережения (вместо сброса на стандарты Windows), измените это на yes:

    set PRESERVE_POWER_SCHEME=no
  • Чтобы сохранить установку Malwarebytes (пропустить удаление) после завершения Tron, измените это на yes:

    set PRESERVE_MALWAREBYTES=no
  • Чтобы настроить перезагрузку после выполнения, измените это значение (в секундах). 0 отключает автоматическую перезагрузку:

    set AUTO_REBOOT_DELAY=0
  • Чтобы пропустить ВСЕ движки антивирусного сканирования (AdwCleaner, MBAM, KVRT, Sophos), измените это на yes:

    set SKIP_ANTIVIRUS_SCANS=no
  • Чтобы пропустить сканирование AdwCleaner, измените это на yes:

    set SKIP_ADWCLEANER_SCAN=no
  • Чтобы пропустить патчи для приложений (не патчить 7-Zip или Adobe Flash), измените это на yes:

    set SKIP_APP_PATCHES=no
  • Чтобы оставить ВСЕ куки нетронутыми (не рекомендуется, Tron автоматически сохраняет большинство обычных куки для входа, таких как Spotify, Gmail и т. д.), измените это на yes:

    set SKIP_COOKIE_CLEANUP=no
  • Чтобы пропустить пользовательские скрипты (этап 8), независимо от того, присутствуют ли файлы .bat в папке stage_8_custom_scripts, измените это на yes:

    set SKIP_CUSTOM_SCRIPTS=no
  • Чтобы пропустить OEM-разгрузку, измените это на yes:

    set SKIP_DEBLOAT=no
  • Чтобы всегда пропускать дефрагментацию (даже на механических дисках; Tron автоматически пропускает дефрагментацию SSD), измените это на yes:

    set SKIP_DEFRAG=no
  • Чтобы пропустить очистку компонентов DISM (SxS store), измените это на yes:

    set SKIP_DISM_CLEANUP=no
  • Чтобы предотвратить подключение Tron к Github и автоматическое обновление списков разгрузки 2 этапа, установите это на yes:

    set SKIP_DEBLOAT_UPDATE=no
  • Чтобы пропустить очистку журналов событий Windows, измените это на yes:

    set SKIP_EVENT_LOG_CLEAR=no
  • Чтобы пропустить сканирование с Kaspersky Virus Rescue Tool (KVRT), измените это на yes:

    set SKIP_KASPERSKY_SCAN=no
  • Чтобы пропустить установку Malwarebytes Anti-Malware (MBAM), измените это на yes:

    set SKIP_MBAM_INSTALL=no
  • Чтобы пропустить удаление OneDrive, независимо от того, используется он или нет, измените это на yes:

    set SKIP_ONEDRIVE_REMOVAL=no
  • Чтобы предотвратить сброс Tron настроек файла подкачки к стандартам Windows, измените это на yes:

    set SKIP_PAGEFILE_RESET=no
  • Чтобы пропустить сканирование с Sophos Anti-Virus (SAV), измените это на yes:

    set SKIP_SOPHOS_SCAN=no
  • Чтобы пропустить удаление обновлений Windows "телеметрии" (отслеживание пользователей), измените это на yes:

    set SKIP_TELEMETRY_REMOVAL=no
  • Чтобы пропустить только пакетные обновления WSUS Offline (попытки выполнения обновлений онлайн сохраняются), измените это на yes:

    set SKIP_WSUS_OFFLINE=no
  • Чтобы полностью пропустить обновления Windows (игнорировать как WSUS Offline, так и онлайн методы), измените это на yes:

    set SKIP_WINDOWS_UPDATES=no
  • Чтобы автоматически загружать отладочные журналы разработчику Tron (vocatus), измените это на yes:

    set UPLOAD_DEBUG_LOGS=no
  • Чтобы показать как можно больше вывода (подробности), измените это на yes:

    set VERBOSE=no
  • Чтобы Tron удалил сам себя после выполнения (самоуничтожение), измените это на yes:

    set SELF_DESTRUCT=no
  • Скорее всего, параметра -UPM нет

ВЫПОЛНЕНИЕ ПОЛЬЗОВАТЕЛЬСКИХ СКРИПТОВ:

Tron поддерживает выполнение пользовательских скриптов непосредственно перед экраном завершения.

Разместите все файлы пакетных команд, которые вы хотите выполнить непосредственно перед завершением Tron, в этой папке: \tron\resources\stage_8_custom_scripts

Пользовательские скрипты работают следующим образом:

  • Если в папке \stage_8_custom_scripts существуют файлы с расширением .bat, Tron выполнит каждый из них последовательно по имени. По завершении выполнения Tron выполнит очистку и завершит скрипт как обычно.

  • Если в папке \stage_8_custom_scripts нет файлов с расширением .bat, этап 8 молча пропускается.

  • Поддерживающие файлы могут быть помещены в папку, но сам Tron игнорирует все, что не является файлом с расширением .bat

  • Если вы хотите использовать вспомогательные файлы пакетных команд, но не хотите, чтобы Tron выполнял их, используйте расширение файла .cmd вместо .bat, и Tron их проигнорирует.

  • Это ваша ответственность, что делают ваши скрипты. Я не предоставляю поддержку для пользовательских скриптов, кроме как попытки Tron выполнить их.

  • Используйте параметр -scs или отредактируйте файл \tron\resources\functions\tron_settings.bat и установите SKIP_CUSTOM_SCRIPTS в yes, чтобы указать Tron игнорировать пользовательские скрипты, даже если они присутствуют. Может быть полезно, если у вас есть набор скриптов, которые вы хотите выполнить только на определенных системах, и вы не хотите носить две копии Tron с собой.

ВЫПОЛНЕНИЕ ОФФЛАЙН-ОБНОВЛЕНИЙ WSUS OFFLINE

Tron поддерживает использование пакетов обновлений WSUS Offline вместо традиционного метода обновления онлайн.

Чтобы добавить оффлайн-пакеты обновлений в Tron:

  1. Скачайте WSUS Offline

  2. Запустите его и загрузите необходимые обновления

  3. Скопируйте папку client (обычно находится в \wsusoffline\client) в \tron\resources\stage_5_patch\wsus_offline\client\

  4. Убедитесь, что в этом пути присутствует файл Update.cmd: \tron\resources\stage_5_patch\wsus_offline\client\Update.cmd

  5. Запустите Tron, он должен автоматически обнаружить и использовать оффлайн-обновления

Если по какой-то причине вы хотите пропустить пакет обновлений на определенной системе, используйте параметр -swo или отредактируйте tron_settings.bat, установите SKIP_WSUS_OFFLINE в yes, и Tron проигнорирует любые файлы WSUS Offline в этом запуске.

ЦЕЛОСТНОСТЬ

В каждом выпуске файл \tron\integrity_verification\checksums.txt содержит хеши SHA-256 каждого файла, включенного в Tron, и подписан моим PGP-ключом (0x07d1490f82a211a2, включен). Вы можете использовать его для проверки целостности пакета.

ЛИЦЕНЗИЯ

Tron и все включенные подскрипты и файлы .reg, написанные мной, предоставляются бесплатно для использования/распространения/чего угодно в рамках лицензии MIT. Было бы здорово, если бы вы отправили электронное письмо и дали мне знать, если вы сделали что-то интересное с этим, но это не обязательно. Все сторонние утилиты, которые вызывает Tron (MBAM, TDSSK и т. д.), подчиняются своим соответствующим лицензиям. Ваша ответственность - определить, можете ли вы использовать их в вашей конкретной ситуации.

ПРОБЛЕМЫ И ПОДДЕРЖКА

Пожалуйста, сначала посетите для списка распространенных проблем (Tron кажется зависшим и т. д.). Если это не решает вашу проблему, создайте пост на r/TronScript, и я или один из членов сообщества рассмотрим проблему. Кроме того, вы можете связаться со мной 24/7 на Keybase.

Надеюсь, это будет полезно другим специалистам по обслуживанию ПК,

– Vocatus

Если вы можете, пожертвования принимаются по следующим адресам:

Bitcoin: 1Biw8gx2kD7mZf66ZdNgB9tG1pE9YA3kEd

Bitcoin Cash: 18sXTTrAViPZVQtm63zBK6aCK3XfJpEThk

КОДЫ ВЫХОДА СКРИПТА

При завершении работы Tron передаст код выхода, указывающий на окончательный статус (успех/предупреждение/ошибка/сбой и т. д.).

КОД ЗНАЧЕНИЕ
0 Успех
1 Ошибка (обычно фатальная)
2 Предупреждение (не фатальное)
3 Неподдерживаемая ОС (запустите с -dev для отмены)
4 Выход с ожиданием перезагрузки
5 Пользователь — идиот (вы попытались запустить из временного каталога, несмотря на инструкции, явно указывающие на обратное)

ПОЛНОЕ ОПИСАНИЕ TRON

Лучший способ узнать, что делает Tron, — просто открыть tron.bat или один из подскриптов для конкретного этапа с помощью текстового редактора (желательно с подсветкой синтаксиса) или на GitHub и просто прочитать код. В каждом разделе есть комментарии, объясняющие, что именно делает Tron, и вам не нужно уметь читать код, чтобы его понять. За исключением этого вот общее описание каждого действия, выполняемого Tron.

tron.bat

ссылка на код

Главный скрипт, который запускает все остальное. Он выполняет множество действий самостоятельно, но для любой задачи, не выполняемой напрямую, мы вызываем внешнюю утилиту или скрипт. Каждый этап (например, Этап 1: Очистка временных файлов) имеет свой главный скрипт, который Tron вызывает последовательно. Подскрипты можно найти в каждом подкаталоге каждого этапа в папке \resources. Например, \tron\resources\stage_1_tempclean\stage_1_tempclean.bat

Внутренние задания Tron

(Эти выполняются даже если Tron отменен до запуска)

  1. Обнаружение выполнения из TEMP-каталога: Обнаруживает, выполняется ли Tron из каталога TEMP, и предотвращает выполнение Tron, если это так. TEMP — одно из первых мест, которые очищаются при запуске Tron, поэтому мы не можем выполнять его оттуда.

  2. Создание каталогов для журналов: Создает главный каталог журнала и подкаталоги, если они не существуют. По умолчанию это %SystemDrive%\Logs\tron.log

  3. Обнаружение версий Windows и IE: Определяет много вещей в скрипте, таких как версии различных команд, которые будут выполнены.

  4. Блокировка неподдерживаемой ОС: Выводит сообщение-оповещение, если запускается на неподдерживаемой ОС, затем завершает работу. Используйте параметр -dev, чтобы переопределить это поведение и разрешить выполнение на неподдерживаемых версиях Windows. В настоящее время срабатывает только на Windows Server 2016.

  5. Проверка конфигурации диска: Проверяет, является ли системный диск SSD, виртуальным диском или вызывает неуточненную ошибку (не может быть прочитан smartctl.exe) и устанавливает переменную SKIP_DEFRAG в yes_ssd, yes_vm или yes_error соответственно. Если хотя бы одно из этих условий срабатывает, Tron автоматически пропускает Этап 5 дефрагментации.

  6. Обнаружение свободного места: Обнаруживает и сохраняет доступное место на жестком диске для последующего сравнения. Просто используется для отображения того, сколько места было восстановлено; не влияет на функции скрипта.

  7. Обнаружение возобновления: Обнаруживает, выполняем ли мы возобновление после прерывания (например, после перезагрузки).

  8. Включение выбора безопасного режима F8: Повторно включает возможность использования клавиши F8 при загрузке (только Windows 8 и выше; включено по умолчанию на Server 2012/2012 R2).

  9. Проверка подключения к сети: Проверяет активное сетевое подключение и пропускает проверку обновлений, если оно не обнаружено.

  10. Проверка обновлений: Сравнивает локальную копию Tron с версией в официальном репозитории (делается это путем чтения номера последней версии из sha256sums.txt). Если локальная копия устарела, Tron предложит автоматически скачать последнюю копию (всегда рекомендуется). Если разрешено, он загрузит копию на рабочий стол, проверит хэш SHA256, затем уничтожит (удалит) старую версию.

  11. Обновление списков деблокировки: Подключение к Github и загрузка последней версии списков деблокировки Этапа 2 при первом запуске. Используйте параметр -sdu (SKIP_DEBLOAT_UPDATE), чтобы предотвратить такое поведение. Я рекомендую разрешить Tron обновлять списки, если у вас нет веской, конкретной причины этого не делать.

  12. Обнаружение прав администратора: Определение, выполняется ли мы от имени администратора, и предупреждение пользователя, если это не так.

  13. Создание записи RunOnce: Создает следующий реестровый ключ для поддержки возобновления после прерывания: HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnce /v "*tron_resume" /t REG_SZ /d "%~dp0tron.bat %-resume". Префикс * в имени ключа заставляет Windows выполнить его в безопасном режиме.

Примечание: -resume — внутренний параметр, не предназначенный для использования человеком в командной строке. Если вы его используете, что-то сломается, и я буду смеяться над вами.

  1. Проверка SMART: Выводит состояние SMART всех жестких дисков в системе, а затем отображает предупреждение, если какой-либо диск сообщает один из следующих кодов состояния: Error,Degraded,Unknown,PredFail,Service,Stressed,NonRecover

ЭТАП 0: Подготовка

ссылка на код Этапа 0

  1. Создание точки восстановления системы: Создает точку восстановления перед запуском. Только для Vista и выше, только для клиентских ОС. Не поддерживается в серверных ОС, и в Windows 10 не работает, если система находится в каком-либо режиме безопасного запуска. Это известная ошибка, и я потратил много часов, пытаясь найти обходное решение, но не смог найти, поэтому, если вам абсолютно необходима точка восстановления системы, рекомендую запускать в нормальном режиме.

  2. Rkill: Rkill - это инструмент предварительной подготовки против вредоносных программ; он ищет и завершает работу нескольких известных вредоносных программ, которые мешают инструментам удаления. Rkill НЕ завершит процесс, перечисленный в \resources\stage_0_prep\rkill\rkill_process_whitelist.txt (ссылка)

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

  4. Dump GUID: Выгружает список всех установленных программных GUID. Эти выгрузки полезны для помощи проекту в укреплении черного списка известно плохих GUID

  5. Dump списка приложений Metro: Выгружает список всех приложений Metro в системе. Это полезно для помощи проекту в укреплении черного списка приложений Metro для удаления

  6. ProcessKiller: Утилита, предоставленная /u/cuddlychops06, которая завершает различные процессы пользовательского уровня. Мы используем это, чтобы дополнительно завершить все, что может мешать Tron. ProcessKiller завершит все в пользовательском уровне, ЗА ИСКЛЮЧЕНИЕМ: ClassicShellService.exe, explorer.exe, dwm.exe, cmd.exe, mbam.exe, teamviewer.exe, TeamViewer_Service.exe, Taskmgr.exe, Teamviewer_Desktop.exe, MsMpEng.exe, tv_w32.exe, VTTimer.exe, Tron.bat, rkill.exe, rkill64.exe, rkill.com, rkill64.com, conhost.exe, dashost.exe, wget.exe . (ссылка)

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

    bcdedit /set {default} safeboot network
    
  8. Настройка системного времени через NTP: Устанавливает системные часы для синхронизации с серверами NTP в следующем порядке: 2.pool.ntp.org, time.windows.com, time.nist.gov

  9. Проверка и восстановление WMI: Проверяет интерфейс WMI и пытается восстановить его в случае поломки. Tron использует WMI для многих вещей, включая преобразование формата даты ISO, удаление предустановленных программ OEM и различные другие вещи, поэтому его работа критична

  10. McAfee Stinger: Самостоятельный сканер от McAfee для обнаружения вредоносных программ/руткитов/вирусов. Не поддерживает журналы в виде обычного текста, поэтому мы сохраняем журнал в формате HTML в %LOGPATH% Tron. Tron запускает Stinger следующим образом:

stinger32.exe --GO --SILENT --PROGRAM --REPORTPATH="%LOGPATH%" --RPTALL --DELETE
  1. TDSS Killer: Утилита против руткитов от Kaspersky Labs. Tron выполняет TDSSKiller следующим образом:
tdsskiller.exe -l %TEMP%\tdsskiller.log -silent -tdlfs -dcexact -accepteula -accepteulaksn
  1. Резервное копирование реестра: Использует erunt для создания резервной копии реестра перед началом сканирования

  2. VSS purge: Очищает старый набор файлов службы теневого копирования тома (в основном копии файлов в определенный момент времени). Вредоносное программное обеспечение часто может скрываться здесь

  3. Уменьшение места для системного восстановления: Ограничивает использование службы восстановления системы только 7% от доступного места на жестком диске

  4. Отключение режима сна: Tron использует caffeine.exe для отключения режима сна при запуске скрипта. В конце скрипта сбрасываются настройки энергосбережения до значений по умолчанию Windows. Используйте параметр -p, чтобы предотвратить сброс настроек энергосбережения до значений по умолчанию Windows.

ЭТАП 1: Очистка временных файлов

ссылка на код Этапа 1

  1. Очистка Internet Explorer: Выполняется только в Internet Explorer версии 7 и выше. Запускает следующий встроенный инструмент Windows для очистки и сброса настроек Internet Explorer:
rundll32.exe inetcpl.cpl,ClearMyTracksByProcess 4351
  1. CCLeaner: Утилита CCLeaner от Piriform. Используется для очистки временных файлов перед запуском антивирусных сканеров. Обратите внимание, что CCLeaner очищает %AppData% Local Storage. Отредактируйте ccleaner.ini и измените (App)Local Storage*=True на (App)Local Storage*=False, если вы не хотите такого поведения. Также обратите внимание, что Tron автоматически сохраняет большинство общих файлов cookie для входа в систему (Chase.com, gmail.com и т. д.). Используйте параметр -scc, чтобы сохранить ВСЕ файлы cookie (не рекомендуется).

  2. TempFileCleanup.bat: Скрипт, который я написал, чтобы очистить некоторые области, которые, кажется, упускаются другими инструментами.

  3. USB Device Cleanup: Удаляет неиспользуемые или отсутствующие устройства USB из системы (несуществующие флеш-накопители и т. д.). Использует drivecleanup.exe от Uwe Sieber.

  4. Очистка дубликатов загрузок: Ищет и удаляет дублирующиеся файлы, найденные в папках Downloads каждого профиля пользователя (ChromeInstaller(1).exe, ChromeInstaller(2)exe и так далее). Не затрагивает другие папки. Использует порт оригинальной утилиты Find Dupe от Sentex, совместимый с UTF-8.

  5. Очистка журналов событий Windows: Создает резервную копию журналов событий Windows в каталоге %LOGPATH%, затем очищает все записи.

  6. Очистка кеша обновлений Windows: Удаляет файлы деинсталляторов для уже установленных обновлений Windows. Обычно освобождает довольно много места. Выполняется с помощью следующей команды:

rmdir /s /q %windir%\softwaredistribution\download
  1. Очистка кеша BranchCache: Tron выполняет команду netsh branchcache flush, чтобы очистить любые кешированные данные в BranchCache (только win7 и выше).

ЭТАП 2: Очистка от мусора

ссылка на код Этапа 2

  1. Очистка от мусора OEM (по имени): Используется WMI для попытки удаления любой программы, указанной в этом файле:
\tron\resources\stage_2_de-bloat\oem\programs_to_target_by_name.txt
  1. Очистка от мусора OEM (по GUID): Используется WMI для попытки удаления списка конкретных GUID, указанных в этом файле:
\tron\resources\stage_2_de-bloat\oem\programs_to_target_by_GUID.txt
  1. Панели инструментов и BHO (по GUID): Используется WMI для попытки удаления списка конкретных GUID, указанных в этом файле:
\tron\resources\stage_2_de-bloat\oem\toolbars_BHOs_to_target_by_GUID.txt
  1. Очистка от мусора Metro: Удаляет множество встроенных приложений Metro, которые редко используются (НЕ удаляет такие вещи, как Калькулятор, Paint и т. д.), а затем очищает их из кеша (всегда можно загрузить позже из Windows Update). На Windows 8/8.1 удаляет все стандартные приложения "Modern". На Windows 10 и выше удаляет только определенные Modern-приложения. Полный список удаленных Metro-приложений можно посмотреть здесь (Microsoft) и здесь (OEM/3rd party). Используйте параметр -sdb (пропустить все удаления мусора) или -m (пропустить только очистку Metro), чтобы пропустить это действие. Как и списки GUID выше, вы также можете настроить эти файлы, чтобы добавлять или удалять приложения из целевого списка. Обратите внимание, что скрипты PowerShell очистки Metro также поддерживают автономное выполнение, если, например, вам просто нужно удалить ненужные приложения Metro с машины.

  2. Удаление интеграции OneDrive: Удаляет принудительную интеграцию OneDrive (только для Windows 10). Tron сначала проверяет, существуют ли какие-либо файлы в папке OneDrive по умолчанию (%USERPROFILE%\OneDrive\), и пропускает удаление, если они найдены. Как дополнительная мера безопасности, Tron оставляет папку OneDrive нетронутой независимо от того, будет OneDrive удален или нет. Используйте параметр -sor, чтобы полностью пропустить удаление OneDrive.

ЭТАП 3: Дезинфекция

ссылка на код Этапа 3

  1. Очистка кеша CryptNet SSL: Удаление кеша сертификатов Windows CryptNet SSL с помощью выполнения следующей команды: certutil -URLcache * delete

  2. Malwarebytes Anti-Malware: Антивирусный сканер. Поскольку для MBAM нет поддержки командной строки, мы просто устанавливаем его и продолжаем выполнение остальной части скрипта. Таким образом, специалист может нажать Scan всякий раз, когда он рядом, но скрипт не останавливается, ожидая ввода пользователя. Используйте переключатели -sa или -sm, чтобы пропустить этот компонент. Используйте параметр -pmb, чтобы НЕ удалять его в конце скрипта.

  3. Malwarebytes AdwCleaner: Командный антивирусный сканер. Используйте переключатели -sa или -sac, чтобы пропустить этот компонент.

  4. KVRT: Инструмент удаления вирусов Kaspersky. Используйте переключатели -sa или -sk, чтобы пропустить этот компонент.

  5. Sophos Virus Removal Tool: Командный антивирусный сканер. Используйте параметр -v, чтобы получить более подробный вывод. Используйте переключатели -sa или -ss, чтобы пропустить этот компонент.

ЭТАП 4: Восстановление

ссылка на код Этапа 4

  1. Очистка установщика MSI: Используйте утилиту Microsoft msizap.exe для удаления забытых файлов установщика MSI из кэша установщика.

  2. Проверка системных файлов: Утилита Microsoft для проверки файловой системы на наличие ошибок и их возможного восстановления. Tron выполняет эту операцию только на Windows Vista и выше (XP и более ранние требуют перезагрузки).

  3. Проверка и восстановление образа DISM: Утилита Microsoft для проверки хранилища образов Windows (вроде более мощной утилиты System File Checker). Только для Windows 8 и выше.

  4. chkdsk: Проверяет диск на наличие ошибок и запланирует выполнение chkdsk с восстановлением при следующей перезагрузке (отмечает том как "грязный"), если обнаружены ошибки.

  5. Отключение "телеметрии" Windows: Отключение "телеметрии" Windows (слежение за пользователем), только для Windows 7 и выше. Tron удаляет "плохие" обновления, которые Microsoft выпустила для систем Windows 7/8/8.1 после выпуска Windows 10. Эти обновления обратно портировали функции слежения/шпионажа, которые изначально присутствуют в Windows 10. См. код (Win7/8/8.1, Win10), чтобы узнать точно, какие обновления KB удаляются. Tron также останавливает и удаляет службу DiagTrack ("Служба отслеживания диагностики"). Если система работает под управлением Windows 10, Tron также проводит более глубокое отключение функций телеметрии Windows, включая автоматическое применение всех служб из инструментов Spybot Anti-Beacon и O&O ShutUp10. Перейдите к коду в \tron\resources\stage_4_repair\disable_windows_telemetry\, чтобы точно увидеть, что удаляется и отключается. ПРИМЕЧАНИЕ: Этот раздел может занять некоторое время для выполнения, НЕ ОТМЕНЯЙТЕ ЕГО. Используйте параметр -str, чтобы просто отключить телеметрию, а не удалять ее.

  6. Отключение напоминаний об обновлении Windows 10: Отключает напоминания о обновлении до Windows 10 на Windows 7/8/8.1, переключая соответствующие параметры реестра. Пользователи всё равно могут вручную обновить систему, если им это необходимо, но теперь это не будет происходить автоматически через системный трей, автоматическое скачивание или установка Windows 10 без их разрешения.

  7. Восстановление сети: Tron выполняет небольшое исправление сети. Конкретно выполняет следующие команды: ipconfig /flushdns, netsh interface ip delete arpcache, netsh winsock reset catalog.

  8. Восстановление расширений файлов: Tron восстанавливает большинство стандартных расширений файлов с помощью пакетного файла, который выполняет цикл через несколько файлов реестра, хранящихся в \tron\resources\stage_4_repair\repair_file_extensions\.

ЭТАП 5: Обновление

ссылка на код Этапа 5

Tron обновляет эти программы, если они уже присутствуют в системе. Если программа отсутствует в системе, она не устанавливается:

  1. 7-Zip: Компрессор и архиватор с открытым исходным кодом. Используйте параметр -sap, чтобы пропустить это действие.

  2. Adobe Flash Player: Используется на YouTube и различных других сайтах. Используйте параметр -sap, чтобы пропустить это действие.

  3. Обновления Windows: Запускает обновление Windows с помощью следующей команды: wuauclt /detectnow /updatenow. Используйте параметр -swu, чтобы пропустить это действие. Если обнаружены объединенные обновления WSUS Offline, Tron выполняет их вместо этого. Используйте параметр -swo, чтобы принудительно пропустить обновления WSUS Offline, даже если они присутствуют в соответствующем каталоге. См. Выполнение поставляемых обновлений WSUS Offline выше для получения дополнительной информации о использовании пакетов оффлайн-обновлений с Tron.

  4. Сброс базы DISM: Перекомпилирует "Хранилище образов Windows" (SxS store). Обычно это освобождает множество гигабайт пространства. Только для Windows 8 и выше. Все установленные обновления Windows до этого момента станут "встроенными" (невозможными для удаления). Используйте параметр -sdc, чтобы пропустить это действие.

ЭТАП 6: Оптимизация

ссылка на код Этапа 6

  1. Сброс файла подкачки: Сброс настроек системного файла подкачки на "позволить Windows управлять файлом подкачки". Выполняется с использованием следующей команды:

    %WMIC% computersystem where name="%computername%" set AutomaticManagedPagefile=True

    Используйте параметр -spr, чтобы пропустить это действие.

  2. Defraggler: Командная строка инструмента дефрагментации от Piriform, который работает немного быстрее встроенного дефрагментатора Windows. Дефрагментация автоматически пропускается, если системный диск - это SSD, или если обнаружены ошибки SMART. Используйте параметр -sd, чтобы заставить Tron ВСЕГДА пропускать дефрагментацию.

ЭТАП 7: Завершение

Код, специфичный для этапа, находится в tron.bat

  1. генерация сводных журналов: Создание сводных журналов до и после, в которых указаны удаленные файлы и удаленные программы. Они помещаются в <LOGPATH>\tron_summary_logs. Кроме того, если использовался параметр -er или установлена переменная EMAIL_REPORT, эти журналы будут прикреплены к отправляемому по электронной почте отчету.

  2. email_report: Отправка отчета по электронной почте с прикрепленным файлом журнала, когда Tron завершается. Требуется указать параметры SMTP в \resources\stage_7_wrap-up\email_report\SwithMailSettings.xml.

  3. upload debug logs: Загрузка tron.log и списков GUID (список всех установленных GUID программ) и Metro app в разработчика Tron (vocatus). Пожалуйста, используйте этот вариант, если это возможно, лог-файлы крайне полезны для разработки Tron! ПРИМЕЧАНИЕ: tron.log может содержать личную информацию, такую как имена файлов на системе, имя компьютера, имя пользователя и т.д., поэтому, если вас это беспокоит, пожалуйста, предварительно просмотрите журнал Tron, чтобы понять, что будет отправлено. Мне нет дела, какие файлы есть на случайных системах в Интернете, но просто чтобы вы были в курсе.

  4. Удаление Malwarebytes: Автоматическое удаление установки Malwarebytes. Используйте параметр -pmb, чтобы пропустить это и оставить его на системе.

ЭТАП 8: Пользовательские скрипты

Код, специфичный для этапа, находится в tron.bat

  1. Выполнение пользовательских скриптов: Tron выполнит любые файлы .bat, помещенные в каталог \tron\resources\stage_8_custom_scripts. См. раздел Выполнение пользовательских/сторонних скриптов выше для получения дополнительной информации.

ЭТАП 9: Остальные инструменты

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

  1. ADSSpy: Сканирует скрытые NTFS-потоки данных

  2. aswMBR: Сканер руткитов

  3. autoruns: Позволяет просматривать и удалять программы, запускающиеся при старте

  4. ComboFix: "Политика выжженной земли" для удаления вредоносного программного обеспечения. Работает только в Windows XP до Windows 8 (без Windows 8.1 и выше)

  5. Junkware Removal Tool: Удаляет временные файлы и случайное ненужное программное обеспечение

  6. Net Adapter Repair: Утилита для восстановления большей части аспектов сетевых подключений Windows

  7. Конфигурация перезагрузки удаленной поддержки: Инструмент для быстрой настройки автовхода и других параметров для запуска Tron через удаленное подключение. Благодаря cuddlychops06

  8. Safe Mode Boot Selector.bat: Пакетный файл для быстрого выбора метода загрузки при запуске (Safe Mode, Network, и т.д.). Благодаря cuddlychops06

  9. ServicesRepair.exe: Утилита ESET для восстановления поврежденных служб Windows

  10. Инструмент сброса Tron: Инструмент для быстрого сброса Tron, если выполнение было прервано или сломалось во время выполнения