Как корректно удалить службу в Windows?

После удаления некоторых программ или утилит, в Windows могут оставаться неиспользуемые службы. В этой статье мы рассмотрим, как правильно удалить любую службу в Windows с помощью встроенных средств.

В графической оснастки управления службами Windows ( services.msc ) доступны только базовые кнопки для запуска, приостановки и отключения службы. Удалить службу с помощью этой консоли нельзя.

Допустим, наша задача удалить неиспользуемую службу Stunnel TLS wrapper (в моем случае она использовалась для шифрования трафика до stunnel сервера). Прежде всего, нужно получить имя службы. В этом случае это stunnel (скопировать имя можно из поля Service name)

Узнать имя службы Windows

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

Set-Service stunnel –startuptype disabled –passthru
Stop-Service stunnel

Отключить автозапуск службу в Windows с помощью PowerShell

Также перед удаление службы, изучите список зависимых служб (параметр DependentServices):

Get-Service Schedule -DependentServices

Get-Service -DependentServices - вывести зависимые службы

Перед тем, как удалять службу, ее нужно остановить. Нажмите кнопку Stop в консоли Services или выполните команду:

net stop stunnel

net stop - остановить службу

Настройки служб хранятся в ветке реестра HKLM\SYSTEM\CurrentControlSet\Services. Если перед удалением службы вы хотите создать резервную копию с ее настройками, можно экспортировать конфигурацию службы в REG файл с помощью команды:

reg export "HKLM\SYSTEM\CurrentControlSet\Services\stunnel" "C:\stunnel_backup.reg" /y

Настройки службы Windows в реестре

После этого можно удалить службу по ее имени с помощью встроенной утилиты sc.exe (если имя службы содержит пробелы, возьмите его в кавычки):

sc delete stunnel

Должно появится сообщение:

[SC] DeleteService SUCCESS

sc delete - удаление службы из командной строки

Утилита sc.exe позволяет управлять службами на удаленном компьютере. Чтобы остановить службу и удалить ее на компьютере SRV1, выполните;

sc.exe \\SRV1 stop "MyService"
sc.exe \\SRV1 delete "MyService"

Или можно удалить сервис с помощью PowerShell:

Remove-Service stunnel

Командлет Remove-Service доступен в PowerShell Core

Командлет Remove-Service доступен в PowerShell Core 6.x и новее.

В Windows PowerShell 5.1 вместо этого командлета для удаления службы можно использовать WMI:

$service = Get-WmiObject -Class Win32_Service -Filter "Name='stunnel'"
$service.delete()

Также для удаления службы достаточно просто удалить ее ветку из раздела реестра HKLM\SYSTEM\CurrentControlSet\Services. Найдите службу в списке, проверьте что в парамтерах DisplayName and ImagePath указаны имя и путь к исполняемому файлу службы, которую вы планируете удалить. Удалите ветку службы целиком.

удалить ветку службы в реестре

Обновите список служб в консоли Services (клавиша F5 ), и проверьте что она исчезла из списка. В большинстве случаев после удаления службы рекомендуется перезагрузить Windows. После перезагрузки вы можете удалить исполняемые файлы, и директории, на которые ссылалось значение параметра реестра ImagePath.

При удалении некоторых служб в командной строке может появится о том, что служба помечена на удаление. При этом фактически служба не удаляется:

DeleteService FAILED 1072:
The specified service has been marked for deletion.

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

Если нужно удалить службу без перезагрузки Windows, нужно с помощью команды taskill или из Task Manager остановить запущенный исполняемый процесс службы. А затем удалить ее ветку в реестре с помощью такой PowerShell команды:

Get-Item HKLM:\SYSTEM\CurrentControlSet\Services\stunnel | Remove-Item -Force -Verbose


Предыдущая статья Следующая статья


Комментариев: 12 Оставить комментарий

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Я не робот( Обязательно отметьте)