Как я могу удалить службу в Windows?

У меня есть пара старых сервисов, которые я хочу полностью удалить. Как я могу это сделать?


person sgwill    schedule 16.09.2008    source источник


Ответы (13)


Используйте команду SC, как это (вам нужно быть в командной строке, чтобы выполнить команды в этом сообщении):

SC STOP shortservicename
SC DELETE shortservicename

Примечание. Вам необходимо запустить командную строку как администратор, а не только как администратор, но и с правами администратора. Если вы получили сообщение об отсутствии необходимых прав доступа для остановки и / или удаления службы, описанной выше, запустите командную строку от имени администратора. Вы можете сделать это, выполнив поиск командной строки в меню «Пуск», а затем щелкнув правой кнопкой мыши и выбрав «Запуск от имени администратора». Примечание для пользователей PowerShell: sc имеет псевдоним set-content. Таким образом, sc delete service фактически создаст файл с именем delete с содержимым service. Чтобы сделать это в Powershell, используйте вместо этого sc.exe delete service


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

SC QUERY state= all >"C:\Service List.txt"

Чтобы получить более краткий список, выполните эту команду:

SC QUERY state= all | FIND "_NAME"

Краткое имя службы будет указано чуть выше отображаемого имени, например:

SERVICE_NAME: MyService
DISPLAY_NAME: My Special Service

И, таким образом, чтобы удалить эту службу:

SC STOP MyService
SC DELETE MyService
person Lasse V. Karlsen    schedule 16.09.2008
comment
Удаление службы обнаружения SSDP? Он используется для обнаружения и настройки устройств UPnP в локальной сети, удалять его не следует. Его просто использовали в качестве примера. - person Lasse V. Karlsen; 17.09.2008
comment
Ооо, понятно, да. Я думал, вы имели в виду, что удаление служб не рекомендуется. Спасибо за ответ! - person sgwill; 17.09.2008
comment
Интересно, сколько системных администраторов уже случайно удалили свою службу SSDPSRV исключительно из-за этого ответа: p - person Vincent Vancalbergh; 11.06.2014
comment
Следует отметить, что вы должны запускать CMD от имени администратора. (Щелкните правой кнопкой мыши CMD и выберите «Запуск от имени администратора»), чтобы выполнить многие из этих команд. - person Highway of Life; 17.07.2014
comment
Используйте sc query state= all, чтобы получить полный список услуг; basic sc query не будет возвращать неактивные (также известные как отключенные) службы. - person tricasse; 03.09.2014
comment
@tricasse Спасибо! Я добавил ваше замечание к исходному ответу. - person Greg Dubicki; 11.03.2015
comment
Обратите внимание, что если вы используете PowerShell, sc имеет псевдоним set-content. Таким образом, sc delete service фактически создаст файл с именем delete с содержимым service. Чтобы сделать это в Powershell, используйте вместо этого sc.exe delete service. - person KFL; 02.10.2015
comment
Если вы используете powershell ... замените sc.exe вместо sc, в противном случае функция вернется без удаления службы. - person andrew pate; 24.02.2017
comment
Обратите внимание, что если в названии сервиса есть пробелы, вы должны заключить полное имя в кавычки - sc delete "Amazon Assistant Service". Кроме того, точное название службы можно найти в реестре HKLM\SYSTEM\CurrentControlSet\Services\{xxyy}\DisplayName - person Jan 'splite' K.; 10.05.2017
comment
К вашему сведению: для поклонников PS, похоже, это недавно было добавлено в PowerShell Core (NB: отличается от стандартного PowerShell). Запрос на включение: github.com/PowerShell/PowerShell/pull/4858 Код: github.com/ PowerShell / PowerShell / blob / master / src / - person JohnLBevan; 06.04.2018
comment
SC STOP shortservicename SC DELETE shortservicename - person Jayani Sumudini; 23.07.2018
comment
в PowerShell используйте C: \ Windows \ System32 \ sc.exe (или sc.exe) вместо SC - person MovGP0; 24.01.2019
comment
Спасибо! Эта заметка о PowerShell была эпической, довольно страшно, сколько времени я мог бы потерять без нее. - person eglasius; 19.02.2019
comment
@eglasius Поблагодарите @zelusp за это, так как он редактировал это. - person Lasse V. Karlsen; 21.02.2019

Щелкните Пуск | Выполнить и введите regedit в строке Open :. Щелкните ОК.

Перейдите к HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services

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

Перезагрузите систему.

person Mark Schill    schedule 16.09.2008
comment
Это хороший запасной вариант, если исполняемый файл, на котором размещена служба, был удален (не удален) и предпочтительный механизм sc delete не работает. Спасибо. - person holtavolt; 08.10.2018

Используйте services.msc или (Пуск> Панель управления> Администрирование> Службы), чтобы найти нужную службу. Дважды щелкните, чтобы увидеть имя службы и путь к исполняемому файлу.

Проверьте информацию о версии exe, чтобы узнать о владельце службы, и используйте «Установка и удаление программ», чтобы выполнить полное удаление, если это возможно.

В противном случае из командной строки:

sc stop servicexyz
sc delete servicexyz

Никакого перезапуска не требуется.

person asquithea    schedule 16.09.2008
comment
Обратите внимание, что если в названии службы есть пробелы, вы должны заключить полное имя в кавычки - например, sc delete "Amazon Assistant Service" - person Jan 'splite' K.; 10.05.2017

SC DELETE "service name"

Запустите команду в cmd от имени администратора, иначе вы получите эту ошибку: -

Ошибка openservice 5 доступ запрещен

person Sachidananda naik    schedule 18.09.2013

Мы можем сделать это двумя разными способами

Удалить службу Windows через реестр

Удалить службу из реестра очень легко, если вы знаете правильный путь. Вот как я это сделал:

  1. Запустите Regedit или Regedt32.

  2. Перейдите в запись реестра HKEY_LOCAL_MACHINE / SYSTEM / CurrentControlSet / Services

  3. Найдите службу, которую хотите удалить, и удалите ее. Вы можете посмотреть на ключи, чтобы узнать, какие файлы использовала служба, а также удалить их (при необходимости).

Удалить службу Windows через командное окно

Кроме того, вы также можете использовать командную строку и удалить службу с помощью следующей команды:

sc удалить

Вы также можете создать службу, используя следующую команду

sc создать MorganTechService binpath = C: \ Program Files \ MorganTechSPace \ myservice.exe

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

person kombsh    schedule 23.09.2013
comment
Метод regedit у меня не сработал. Когда я обновил диспетчер служб, он все еще отображал службу, но с ошибкой, указывающей, что он не может отобразить описание. - person datguy; 12.12.2014
comment
Примечание. Возможно, вам придется перезагрузить систему, чтобы список обновился в диспетчере служб. - person kombsh; 13.12.2014
comment
Возможно, но из-за этого подход regedit уступает команде SC, которая не требует перезагрузки. - person datguy; 13.12.2014
comment
Это испортило мои службы. - person Anand Rockzz; 25.01.2015
comment
спасибо за метод реестра. только так я мог сделать это на ренегатской машине. - person frostymarvelous; 22.06.2015
comment
и это действительно работает. иногда с помощью SC Delete вам все равно нужно перезапустить. - person frostymarvelous; 22.06.2015
comment
@AnandRockzz sc delete также удалил бы ключ reg, как вы это делали вручную. Вам просто нужно перезагрузить компьютер, чтобы удалить его из services.msc. Если он не был удален после перезагрузки, вашим следующим путем будет удаление связанного приложения, которое поместило службу туда в первую очередь. Повторное создание образа машины было очень радикальным, особенно потому, что вы могли просто поискать в реестре имя этой службы и удалить их. - person vapcguy; 06.07.2016
comment
@AnandRockzz 1-й: большое спасибо за предупреждение! 2-й: проголосуйте против этого ответа (если вы еще этого не сделали), если он неправильный / вредный. Кроме того, в результате Google, который показывает фрагмент этого ответа, вы можете оставить отзыв и сообщить Google, что это неправильно / вредно. Если это сделает достаточное количество людей, Google может удалить его. - person stormdrain; 08.11.2017

Если у вас Windows Vista или выше, запустите это из командной строки как администратор:

sc delete [your service name as shown in service.msc e.g moneytransfer]

Например: sc delete moneytransfer

Удалите папку C:\Program Files\BBRTL\moneytransfer\

Найдите ключи реестра moneytransfer и удалите их:

 HKEY_CLASSES_ROOT\Installer\Products\
 HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall\
 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\EventLog\
 HKEY_LOCAL_MACHINE\System\CurrentControlSet002\Services\
 HKEY_LOCAL_MACHINE\System\CurrentControlSet002\Services\EventLog\
 HKEY_LOCAL_MACHINE\Software\Classes\Installer\Assemblies\ [remove .exe references]
 HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\Folders

Эти шаги были протестированы в Windows XP, Windows 7, Windows Vista, Windows Server 2003 и Windows Server 2008.

person user2145033    schedule 07.03.2013

Как описано выше, я выполнил:

sc delete ServiceName

Однако это не сработало, поскольку я выполнял его из PowerShell.

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

Чтобы решить эту проблему, я выполнил его следующим образом:

C:\Windows\System32\sc.exe delete ServiceName
person Nicholas    schedule 08.03.2018

Если это службы, созданные .NET, вы можете использовать installutil.exe с переключателем / u в папке .net framework, например C: \ Windows \ Microsoft.NET \ Framework64 \ v2.0.50727

person CPU_BUSY    schedule 28.10.2008

Вот сценарий vbs, который мне передали:

Set servicelist = GetObject("winmgmts:").InstancesOf ("Win32_Service")

for each service in servicelist
    sname = lcase(service.name)
    If sname = "NameOfMyService" Then 
        msgbox(sname)
        service.delete ' the internal name of your service
    end if
next
person Lucas    schedule 16.09.2008
comment
Вероятно, nameofmyservice, а не NameOfMyService, поскольку sname все в нижнем регистре в строке ранее. - person Dominik George; 23.11.2015

sc удалить имя

person Mariano    schedule 16.09.2008

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

person Demodave    schedule 14.10.2015
comment
как вы можете увидеть службы, установленные в программах и функциях - person Nisha; 05.05.2017
comment
Если я правильно помню, это было тогда, когда у меня была программа, которая, как мне кажется, была splunk, после установки запускалась как служба, потому что она размещалась локально, вы могли перейти на localhost: 8080, чтобы просмотреть локальный веб-сайт. Для того, чтобы убрать пришлось всю прогу. - person Demodave; 05.05.2017
comment
Спасибо. Я установил службы с помощью командной строки. Я удалил с помощью cmd в cmd pmpt. Еще раз спасибо за ответ. - person Nisha; 09.05.2017

Перед удалением службы необходимо просмотреть зависимости.

Вы можете проверить это:

Откройте services.msc и найдите имя службы, перейдите на вкладку «Зависимости».

Источник: http://www.sysadmit.com/2016/03/windows-eliminar-un-servicio.html

person Dilmasegure    schedule 21.03.2016

Вы можете использовать мою небольшую утилиту для редактирования списка сервисов Service Manager

Предварительный просмотр

Вы можете выбрать любую услугу> Изменить> Удалить. Метод работает сразу, перезагрузка не требуется.

Исполняемый файл: [Загрузить]

Исходный код: [Загрузить]

Сообщение в блоге: [BlogLink]

Класс редактора службы: WinServiceUtils.cs

person Sergey Vaulin    schedule 27.02.2020