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

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

Кроме того, перед удаление службы, изучите перечень зависимых служб (параметр DependentServices):
Get-Service Schedule -DependentServices

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

Настройки служб хранятся в ветке реестра HKLMSYSTEMCurrentControlSetServices. Если перед удалением службы вы хотите создать резервную копию с ее настройками, можно экспортировать конфигурацию службы в REG файл с помощью команды:
reg export "HKLMSYSTEMCurrentControlSetServicesstunnel" "C:stunnel_backup.reg" /y

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

sc.exe \SRV1 stop "MyService"
sc.exe \SRV1 delete "MyService"
Или можно удалить сервис с помощью PowerShell:
Remove-Service stunnel

В Windows PowerShell 5.1 вместо этого командлета для удаления службы можно использовать WMI:
$service = Get-WmiObject -Class Win32_Service -Filter "Name='stunnel'"
$service.delete()
Также для удаления службы достаточно просто удалить ее ветку из раздела реестра HKLMSYSTEMCurrentControlSetServices. Найдите службу в списке, проверьте что в парамтерах DisplayName and ImagePath указаны имя и путь к исполняемому файлу службы, которую вы планируете удалить. Удалите ветку службы целиком.

F5 ), и проверьте что она исчезла из списка. В большинстве случаев после удаления службы рекомендуется перезагрузить Windows. После перезагрузки вы можете удалить исполняемые файлы, и директории, на которые ссылалось значение параметра реестра ImagePath.При удалении некоторых служб в командной строке может появится о том, что служба помечена на удаление. При этом фактически служба не удаляется:
DeleteService FAILED 1072: The specified service has been marked for deletion.
Обычно это указывает на то, что исполняемый файл службы еще запущен и не может быть остановлен. Если перезагрузить компьютер, служба будет удалена.
Если нужно удалить службу без перезагрузки Windows, нужно с помощью команды taskill или из Task Manager остановить запущенный исполняемый процесс службы. А затем удалить ее ветку в реестре с помощью такой PowerShell команды:
Get-Item HKLM:SYSTEMCurrentControlSetServicesstunnel | Remove-Item -Force -Verbose

Добавить комментарий