Remove Services в service.bat: что удаляется, а что остаётся
Пункт 2. Remove Services в меню service.bat снимает службу zapret и драйвер WinDivert, а файлы в папке оставляет. Вернуть службу можно за минуту через Install Service.
В меню service.bat пункт 2. Remove Services выглядит как кнопка, которая снесёт что-то важное и без спроса. На самом деле он снимает только службу и драйвер из Windows, а папку со всей сборкой не трогает. Нажимать можно спокойно: вернуться к работе можно за минуту через Install Service или обычный запуск bat-файла.
Что делает пункт, шаг за шагом
Пункт выполняет четыре действия подряд, не спрашивая подтверждения.
- Останавливает и удаляет службу
zapret. Windows выводит свой ответ на команды остановки и удаления, на русской системе он звучит по-русски; напротив строки удаления стоит пометка об успехе. - Завершает процесс
winws.exe, если он запущен. Это сам обход: пока процесс жив, фильтрация продолжается даже без службы. - Останавливает и удаляет службу драйвера
WinDivert— сетевого драйвера, на котором работает обход. Без негоwinws.exeне заработает снова. - То же делает для
WinDivert14— второго имени службы драйвера, под которым она встречается в других сборках и версиях.
После всего пункта появляется строка Press any key to continue . . ., и вы возвращаетесь в меню. Ничего не спрашивается и не подтверждается: нажали, и сделано. Откат один, и он простой: Install Service ставит службу обратно.
Когда этот пункт нужен
Службой в Windows называется запись в списке служб с параметрами запуска, а файлы лежат отдельно в папке. Remove Services рвёт запись, папка остаётся. Как выключить будильник, не выбрасывая часы: сработало, но время на циферблате никуда не делось.
Поводов нажать пункт четыре:
- перед обновлением или полной переустановкой сборки: пункт стоит в инструкции по переустановке сразу после перезагрузки, и он обязателен, потому что служба хранит путь к старой папке;
- перед запуском тестов, потому что
Run Testsотказывается работать, пока служба установлена; - перед запуском
general*.batруками, иначе сборка отвечаетALREADY RUNNING as service, это разобрано на странице о сообщении ALREADY RUNNING as service; - перед удалением сборки с компьютера совсем.
Если вы просто перебираете одну-две стратегии для проверки, пункт можно и не трогать: окно bat работает без снятия службы, а снять её вы успеете потом. Для обновления и переустановки без него не обойтись.
Что удаляется, а что остаётся
| Что | После Remove Services |
|---|---|
Служба zapret | Удалена из Windows |
Процесс winws.exe | Завершён |
Драйвер WinDivert в службах | Удалён (и WinDivert14 тоже) |
| Папка со сборкой | На месте |
Списки lists и свои правки | На месте |
Файл WinDivert64.sys в bin | На месте |
| Автозапуск при загрузке | Пропадает |
Главное следствие из таблицы: после перезагрузки обхода не будет, пока вы не запустите какой-нибудь bat руками или не вернёте службу. «Удалить службу» не значит «удалить программу»: сборка целиком лежит в папке и запускается в любой момент. Что вообще даёт служба и чем она отличается от запуска bat, разобрано на странице про Install Service.
Как удалить Zapret с компьютера целиком
Установщика у сборки нет, поэтому и деинсталлятора нет: в «Программах и компонентах» вы её не найдёте. Вся установка складывается из папки с файлами и службы, и удаляются они двумя шагами, строго в этом порядке:
- Запустить
service.bat→2. Remove Services. Служба и драйвер снимаются, запись в реестре удаляется вместе со службой. - Закрыть окно
service.batи удалить папку сборки.
Если удалить папку до пункта, служба останется в системе и будет указывать на несуществующий файл. Поэтому сначала пункт, потом папка, не наоборот. Полная инструкция по переустановке и обновлению — на странице об установке и переустановке, там же порядок с сохранением своих списков.
Service "zapret" is not installed. — службы и не было
Если при запуске пункта появляется строка Service "zapret" is not installed., значит, служба на компьютере не стояла и останавливать было нечего. Пункт на этом не останавливается: он всё равно дорабатывает остальное и завершает winws.exe, если тот запущен, и снимает драйвер WinDivert.
Обход при этом мог работать без службы: из открытого окна bat-файла, которое вы запускали руками, или вообще из другой программы. Если вы снимали службу, чтобы вернуть Windows чистое состояние, проверьте, что ни одно окно обхода не осталось открытым. После снятия строки Check Status в меню меняются, их разбор на странице о строках Check Status после снятия службы.
Частые вопросы
Нажал Remove Services, и интернет пропал совсем
Если закрылись только Ютуб и Дискорд, а почта и поиск работают, это ожидаемо: обход снят, заблокированные сайты стали недоступны, верните обход любым способом. Если не открываются и обычные сайты, дело не в пункте меню, а в сбое сетевых настроек: выполните netsh winsock reset, netsh int ip reset all, netsh winhttp reset proxy, ipconfig /flushdns и перезагрузите компьютер.
Удалил папку, а служба zapret осталась в services.msc. Как снять без сборки?
Откройте консоль от администратора и выполните sc stop zapret, затем sc delete zapret. Драйвер снимается так же, имя берите из driverquery | find "Divert". Папку эти команды не вернут, но записи о службе и драйвере снимут.
Надо ли жать Remove Services перед каждым обновлением?
Да. Документация сборки ставит этот пункт в самое начало инструкции по переустановке, сразу после перезагрузки: служба хранит путь к старой папке, и если сначала удалить папку, служба останется указывать на несуществующий файл.
После Remove Services антивирус перестал ругаться. Драйвер удалился навсегда?
Нет. Пункт снял службу драйвера, но файл WinDivert64.sys в папке bin остался. При следующем запуске обхода драйвер загрузится снова и ругань вернётся, поэтому исключение для папки сборки в антивирусе лучше поставить заранее.
Дальше по теме