Windows Maintenance Tool

Windows Maintenance Tool v5.0.4

  • Автор Автор akok
  • Дата создания Дата создания

v5.0.4​

Исправления (Hotfix)​

  • Исправлено обрезание текста на кнопке категории Software Catalog (Development) при небольших размерах интерфейса.
  • Добавлена проверка лаунчера для обнаружения некорректно скачанных через HTML файлов WMT-GUI.ps1 перед запуском.
  • Исправлено ложное срабатывание блокировки лаунчера, если скрипт начинается с блочного комментария PowerShell (<# ... #>).


v5.0.3​

Исправления​

  • Переработано отслеживание результатов действий с пакетами: теперь используются явные события для каждого элемента (SUCCESS, SKIPPED, FAILED, CANCELLED), что устраняет ложные состояния завершения вида 0/x.
  • Исправлен процесс обновления, который мог автоматически запускать повторное сканирование сразу после действий. Теперь автообновление выполняется только если хотя бы один пакет был успешно обновлён.
  • Добавлено подтверждение риска перезагрузки перед обновлениями Electronic Arts (EA) — пользователь может отменить действие, если не хочет потенциальной перезагрузки.
  • Улучшена логика повторных попыток: статус Not Applicable теперь считается SKIPPED, а известные ситуации без повторной попытки больше не запускают лишние окна fallback.

Live Activity​

  • Добавлен интерфейс реального времени для отслеживания выполнения действий с пакетами в заголовке Updates (progress bar + счётчики done/success/skipped/failed).
  • Добавлен живой статус для каждого пакета (x/y, имя текущего пакета, прошедшее время) во время update/install/uninstall.
  • Добавлена потоковая передача вывода winget в Activity Log, включая обновления процента выполнения и keep-alive строки во время работы команд.

Улучшения UX обновлений провайдеров​

  • Добавлено выполнение обновлений pip в видимом консольном окне, чтобы пользователь видел вывод установщика в реальном времени.
  • Аналогичное поведение видимого окна добавлено для обновлений Chocolatey и Python-пакетов — для большей прозрачности и уменьшения числа "тихих" ошибок.

Благодарности​

  • Chaython — PR #85: добавлена сортировка колонок для элементов ListView.
  • Тестировщики сообщества — особенно пользователи, сообщившие о проблемах с процессом обновлений и Activity Log (включая риск перезапуска EA и проблемы интерфейса при низком разрешении).

v5.0.2​

Hotfix​

  • В разделе Tweaks добавлена возможность прокрутки.
Перед выпуском была проведена дополнительная проверка.
Спасибо пользователям, которые сообщили о проблеме.


v5.0.1​

Исправления​

  • Исправлены дублирующиеся заголовки вкладок и наложение каталога на панель обновлений.
  • Поле Quick Find теперь получает фокус, содержит placeholder и корректно выполняет поиск.
  • Activity Log теперь автоматически прокручивается при добавлении новых записей.
  • Парсер сканирования winget теперь отфильтровывает лишние строки заголовков и статуса.
  • Добавлена защита для опциональных/отсутствующих кнопок, чтобы избежать ошибок null reference.
  • Удалён неиспользуемый код таймера сканирования и выровнены placeholder-тексты поиска.

Улучшения интерфейса​

  • Расширены кнопки поиска Winget/Catalog для корректного отображения текста.
  • Исправлен повреждённый текст и символы ?? в метках, заголовках и логах.

v5.0 — крупное обновление​

🎉 Новые функции​

⚡ Новая вкладка "Tweaks"​

Добавлена новая вкладка с функциями оптимизации системы.

Performance Tweaks​

  • Перевод более 100 служб Windows в режим Manual для повышения производительности
  • Восстановление служб до настроек по умолчанию
  • Отключение/включение гибернации (экономия места на диске)
  • Отключение/включение Superfetch (SysMain)
  • Отключение/включение сжатия памяти
  • Режим питания Ultimate Performance

Удаление AppX-приложений​

  • Просмотр установленных UWP-приложений
  • Удаление отдельных предустановленных приложений (Xbox, Solitaire, Office Hub, Mail и др.)
  • Массовое удаление
  • Поддержка удаления 24 приложений

Опциональные компоненты Windows​

Включение/отключение:

  • Hyper-V
  • Windows Subsystem for Linux
  • Windows Sandbox
  • .NET Framework 3.5
  • NFS Client
  • Telnet Client
  • Internet Information Services (IIS)
  • Legacy Media (WMP, DirectPlay)

Управление службами​

  • Optimize Services — перевод более 100 служб в Manual
  • Restore Defaults — восстановление настроек
  • View Services — таблица всех служб Windows

Управление запланированными задачами​

  • Отключение задач телеметрии (CEIP, Error Reporting, Compatibility Appraiser)
  • Восстановление задач
  • Просмотр списка задач

Presets Windows Update​

  • Default — стандартное поведение
  • Security Only — только обновления безопасности
  • Disable All — полностью отключает Windows Update (не рекомендуется)

Software Catalog​

Каталог программ внутри вкладки Updates:

  • 26 популярных приложений
  • Категории: Browsers, Development, Utilities, Multimedia, Gaming, Security
  • Поиск и фильтрация
  • Массовая установка через winget
  • Фильтрация по категории в один клик

🔧 Исправления ошибок​

Зависание раздела Updates​

  • Удалён параметр --include-unknown из команды winget (вызывал зависания)
  • Добавлен параметр --disable-interactivity
  • Таймауты:
    • 60 секунд для операций winget
    • 30 секунд для pip, npm, Scoop, RubyGems, Cargo
Если таймаут превышен — процесс корректно завершается.

Отображение прогресса​

  • Команда Invoke-WingetCmd теперь выводит поток данных в реальном времени
  • Добавлено живое логирование выполнения:
    • отображается выполняемая команда
    • отображается код завершения

Исправления предупреждений PSScriptAnalyzer​

  • Run-WingetCmd → Invoke-WingetCmd
  • Toggle-WindowsFeature → Switch-WindowsFeature
  • Filter-Catalog → Get-CatalogByCategory
  • Удалена неиспользуемая переменная $services

🎨 Улучшения интерфейса​

Новый визуальный стиль​

  • Тема GitHub Dark
  • Карточная компоновка интерфейса
  • Скругления элементов
  • Убраны blur-эффекты теней

Улучшенный рендеринг текста​

  • TextFormattingMode="Display"
  • TextRenderingMode="ClearType"
  • SnapsToDevicePixels="True"
  • UseLayoutRounding="True"
  • Новый шрифт Segoe UI Variable Display

Навигационная панель​

  • Добавлены emoji-иконки
  • Кнопка ⚡ Tweaks
  • Индикатор активной вкладки
  • Улучшены состояния hover

ToolTips​

  • Подробные подсказки для всех кнопок
  • Описания функций и предупреждения

Изменения компоновки​

  • Ширина sidebar увеличена до 260px
  • Панель логов переработана
  • Все панели переведены на карточную структуру
  • Улучшены отступы и spacing

📝 Изменения кода​

Новые функции PowerShell​

  • Invoke-WingetCmd — потоковое выполнение команд
  • Switch-WindowsFeature — переключение компонентов Windows
  • Get-CatalogByCategory — фильтрация каталога программ

Обновлены массивы​

  • $TabButtons — добавлена кнопка btnTabTweaks
  • $Panels — добавлена панель pnlTweaks

Новые структуры данных​

  • $script:AppxList — список из 24 UWP-приложений
  • $script:TelemetryTasks — задачи телеметрии
  • $script:SoftwareCatalog — каталог из 26 приложений

v3.6.1​

🐞 Исправления​

  • Проблема, при которой для некоторых операций не запрашивались права администратора.
  • Дополнительные мелкие исправления:
    • проверка ошибок;
    • дополнительная проверка прав администратора.



v3.6.0​

🔧 Добавлено​

  • Настройки .NET RollForward
    • Позволяют системе использовать конкретную версию .NET.
    • Поддерживаются SDK (для компиляции) и Runtime (для приложений).
    • Устраняют необходимость загрузки нескольких разных версий .NET Runtime.
  • Shortcut Fixer
    • Автоматическое восстановление ярлыков.
  • Перенос пунктов меню 30 и 0 в конец списка для лучшей структуры.

🛠 Улучшено​

  • Добавлены дополнительные варианты возврата в меню.
  • Обновлён номер сборки для более точного отслеживания версии.
  • Инструмент восстановления Windows Update
    • Теперь выполняет полное "nuke & rebuild".
    • Добавлены новые параметры восстановления для большей гибкости.

🐞 Исправлено​

  • Удалены случайные двойные разрывы строк в коде.
➡️ Credits: Все исправления, улучшения и новые функции в этой версии разработаны @Chaython.
  • Like
Реакции: furtivex и E100

v3.5.0​

Ченджлог​

🚀 Новые функции
  • Менеджер брандмауэра на PowerShell:
    Добавлен полнофункциональный меню-ориентированный менеджер брандмауэра, написанный на PowerShell и встроенный прямо в основной скрипт.
    • Управление правилами Windows Firewall, включение/отключение брандмауэра и многое другое — без сторонних утилит и графического интерфейса Windows!
🛡️ Совместимость и безопасность
  • Обход ограничений групповой политики:
    Теперь скрипт может обходить некоторые ограничения Group Policy, которые обычно блокируют запуск неподписанных PowerShell-скриптов.
    • Возможен прямой запуск в терминале без дополнительных .bat файлов и ручных изменений политик.
🧹 Очистка и поддержка
  • Удалена папка Previous versions:
    Старые версии теперь доступны только на странице Releases, что делает структуру проекта чище.
📄 Документация и разработка
  • Обновлен CONTRIBUTING.md:
    Внесены небольшие улучшения в руководство для разработчиков.


Благодарности:
Огромное спасибо @Chaython за менеджер брандмауэра, технические улучшения и очистку репозитория!



v3.4.0​

Что нового​

🔒 Очистка приватных данных
  • В меню (опция 11) появилась функция очистки приватных данных: удаление cookies, истории и прочего (в зависимости от реализации).
📦 Автоматическая установка Winget
  • Если Windows Package Manager отсутствует, скрипт теперь установит его автоматически, а не просто предложит сделать это вручную. Особенно полезно для неопытных пользователей.
⚡ Прямой ввод ID
  • Для опции 1 теперь можно ввести ID напрямую, без прохождения через несколько меню. Это ускоряет работу.
🔧 Улучшения и оптимизации
  • Функция DNS-Adblock обновлена.
  • Добавлены дополнительные зеркала для скачивания hosts-файлов.
  • Улучшена обработка заблокированных hosts-файлов.
  • Поддержка нескольких резервных копий hosts-файлов и возможность удалить их все сразу.
  • Сообщения для пользователей стали более понятными.

📑 Меню и поддержка
  • Опция "Support" (контакты Discord/GitHub) перенесена с 15 на 30 пункт меню.
  • Раздел поддержки теперь доступен через горячие клавиши h, v или опцию 30.
  • Ссылки на поддержку открываются сразу по нажатию клавиши — копировать вручную не нужно.

🖥️ Код и логика
  • Переработана структура меню и функций для большей ясности и расширяемости.
  • Улучшена отказоустойчивость и обработка ошибок (например, при заблокированных файлах или отсутствии системных инструментов).
🙌 Спасибо @Chaython за большую помощь в проекте!




v3.3.0​

Обновления​

🧹 Функция очистки TEMP
  • Исправлен баг: больше не появляется ошибка [ERROR] TEMP path unsafe or invalid для корректных путей.
  • Теперь выводится подробная информация: какие файлы/папки удалены, а какие пропущены (например, из-за "доступ запрещен").
  • Новый выбор: очистка только временных файлов или ещё и корзины.
  • Файлы, занятые системой, автоматически пропускаются и заносятся в лог.
  • Улучшена обработка ошибок и убраны ложные предупреждения о "повреждении системы".
🌐 DNS-инструменты
  • Поддержка DNS-over-HTTPS (DoH).
  • Поддержка настройки IPv6 DNS.
📅 Планировщик задач
  • Добавлена возможность просмотра и управления всеми задачами Windows через PowerShell-меню (шире, чем стандартный Task Manager).

🐞 Исправления и улучшения
  • Улучшены тексты подсказок и сообщений для пользователей.
  • Более надёжная обработка ошибок.
  • Оптимизировано меню и логика работы, исправлены мелкие баги.
🙏 Спасибо за апдейт, @Chaython!
  • Like
Реакции: E100

Что нового:​

Значительные улучшения в меню очистки реестра:​

– Теперь перед удалением ключей реестра, которые "безопасно удалить", автоматически создается резервная копия реестра (или используется уже существующая, если она была создана недавно).
– Выполняется проверка существующих резервных копий (созданных в течение последних 10 минут), чтобы избежать накопления лишних файлов.
– Удаление стало более понятным и надежным благодаря обратной связи для пользователя и обработке ошибок.


Зачем:​

Эти изменения повышают безопасность (за счет автоматических резервных копий), понятность для пользователя и общую надежность функций расширенной очистки реестра.
  • Like
Реакции: monowar, E100 и Sandor
Инструмент технического обслуживания Windows был полностью переработан:
вся логика перенесена с устаревших .bat-скриптов на современный PowerShell (.ps1).

🔧 Основные изменения​

  • Переписан на PowerShell с использованием модульной архитектуры
  • Добавлены динамические проверки системы, улучшена обработка ошибок
  • Улучшена поддержка нескольких сетевых адаптеров и разных конфигураций
  • Логирование стало структурированным, с отметками времени (логи сохраняются на рабочий стол)

💡 Зачем переход на PowerShell?​

Ограничения старой системы на .bat:
  • ❌ Статическое определение адаптеров (жестко заданы "Wi-Fi", "Ethernet")
  • ❌ Слабая обработка ошибок и управление потоком
  • ❌ Отсутствие встроенного логирования
  • ❌ Трудности в масштабировании и поддержке
Преимущества PowerShell:
  • ✅ Глубокая интеграция с API Windows
  • ✅ Динамическая проверка входных данных
  • ✅ Структурированное логирование и отчеты
  • ✅ Чистый, модульный и расширяемый код
  • ✅ Универсальная поддержка языков и региональных настроек

🧩 Сравнение возможностей​

ВозможностьBatch Script (.bat)PowerShell (.ps1)
Интеграция с ОС❌ Минимальная✅ Глубокая
Определение адаптеров❌ Жестко задано✅ Get-NetAdapter
Логирование❌ Ручное✅ Автоматическое
Обработка ошибок❌ Ограниченная✅ try/catch + вывод
Поддержка и масштабирование❌ Сложно✅ Чисто и модульно
Поддержка разных языков❌ Проблемы с локалями✅ Кросс-культурный

📌 Что это даёт​

  • Повышенная стабильность
  • Лучшая поддерживаемость
  • Совместимость с системами на разных языках
  • Готовность к новым функциям и развитию
  • Like
Реакции: E100
Назад
Сверху Снизу