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


Відповіді:


783

Використовуйте команду 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

5
Видалити службу виявлення SSDP? Він використовується для виявлення та налаштування пристроїв UPnP в локальній мережі, не слід видаляти його. Це було просто використано як приклад.
Лассе В. Карлсен

5
Ооо, бачу, так. Я подумав, що вам не рекомендується видаляти служби. Дякую за відповідь!
sgwill

16
Цікаво, скільки системних адміністраторів вже випадково видалили службу SSDPSRV виключно через цю відповідь: p
Вінсент Ванкальберг,

6
Використовуйте sc query state= allдля отримання повного переліку послуг; basic sc queryне повертає неактивні (ака. відключені) послуги.
трикассе

32
Зауважте, що якщо ви використовуєте PowerShell, scце псевдонім set-content. Так sc delete serviceфактично буде створений файл, який називається deleteвмістом service. Для цього в Powershell використовуйте sc.exe delete serviceзамість цього.
KFL

48

Клацніть Пуск | Запустіть і введіть regeditу рядку Open:. Натисніть кнопку ОК.

Перейдіть до HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services

Прокрутіть ліву панель вниз, знайдіть назву послуги, клацніть правою кнопкою миші та виберіть Видалити .

Перезавантажте систему.


1
Це хороший запас, коли виконуваний сервіс, що розміщує службу, був видалений (не видалений), і бажаний sc deleteмеханізм виходить з ладу. Дякую.
holtavolt

17

Використовуйте services.msc або (Пуск> Панель управління> Адміністративні інструменти> Послуги), щоб знайти відповідну послугу. Двічі клацніть, щоб побачити ім’я служби та шлях до виконуваного файлу.

Перевірте інформацію про версію exe, щоб дізнатись про власника сервісу та скористайтеся програмами Додати / Видалити, щоб зробити можливе чисте видалення, якщо можливо.

Якщо цього не зробити, у командному рядку:

sc stop servicexyz
sc delete servicexyz

Не потрібно вимагати перезавантаження.


2
Зверніть увагу, що якщо в сервісі є пробіли в імені, вам потрібно загорнути повне ім'я в лапки - наприкладsc delete "Amazon Assistant Service"
Jan 'splite' K.

13
SC DELETE "service name"

Запустіть команду на cmd як адміністратор, інакше ви отримаєте цю помилку: -

Не вдалося відкрити сервіс. 5 доступу відмовлено


9

Ми можемо це зробити двома різними способами

Видаліть службу Windows через реєстр

Видалити службу з реєстру дуже просто, якщо ви знаєте правильний шлях. Ось як я це зробив:

  1. Запустіть Regedit або Regedt32

  2. Перейдіть до запису реєстру "HKEY_LOCAL_MACHINE / SYSTEM / CurrentControlSet / Services"

  3. Знайдіть службу, яку потрібно видалити, і видаліть її. Ви можете подивитися на клавіші, щоб знати, які файли використовувала служба, а також видалити їх (якщо потрібно).

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

Крім того, ви також можете використовувати командний рядок та видалити службу, використовуючи таку команду:

sc видалити

Ви також можете створити сервіс за допомогою наступної команди

sc створити "MorganTechService" binpath = "C: \ Програмні файли \ MorganTechSPace \ myservice.exe"

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


5
Метод regedit для мене не працював. Коли я оновив диспетчер сервісів, він все ще показав службу, але сталася помилка, вказуючи, що він не може відображати опис.
датгуй

2
Примітка. Можливо, вам доведеться перезавантажити систему, щоб оновити список у менеджері послуг.
комбш

2
Можливо, але це робить підхід regedit неповноцінним команді SC, яка не потребує перезавантаження.
датгуй

4
Це заплутало мої послуги: (будь ласка, не вводьте в оману цей дурний репутація, автоматично показуйте цей ансер на своїй сторінці пошуку, і я довіряв йому, і слідом за ним слідував, не натискаючи посилання SOF, і мені довелося переробити свою машину.
Anand Rockzz,

дякую за метод реєстру. єдиний спосіб я міг це зробити на ренегатній машині.
frostymarvelous

8

Якщо у вас 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.


6

Якщо вони є .NET створеними службами, ви можете використовувати installutil.exe, перемикаючи його / u в рамку папки .net, як C: \ Windows \ Microsoft.NET \ Framework64 \ v2.0.50727


6

Як описано вище, я виконав:

sc delete ServiceName

Однак це не спрацювало, оскільки я виконував це з PowerShell.

Під час використання PowerShell ви повинні вказати повний шлях до, sc.exeоскільки PowerShell має псевдонім за замовчуванням для scйого призначення Set-Content. Оскільки це дійсна команда, вона насправді не показує повідомлення про помилку.

Щоб вирішити це, я виконав його наступним чином:

C:\Windows\System32\sc.exe delete ServiceName

2

Ось сценарій 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

Можливо, nameofmyservice, а не NameOfMyService, оскільки ім'я - це все нижнє регістр у рядку раніше.
Домінік Георгій


0

Для мене свою службу, яку я створив, потрібно було видалити в Панелі керування> Програми та функції


як ви можете бачити сервіси, встановлені в програмах та функціях
Ніша

Якщо я правильно пам’ятаю, це було тоді, коли програма, яку я вважаю, випала після встановлення, запускалася як послуга, оскільки вона розміщувалась локально, ви можете перейти до localhost: 8080 для перегляду місцевого веб-сайту. Для того, щоб я його видалив, я мав до всієї програми.
Демодав

Дякую. Я встановив сервіси за допомогою командного рядка. Я видалив за допомогою cmd у cmd pmpt. Ще раз дякую за відповідь.
Ніша


0

Ви можете використовувати мій невеликий редактор списку послуг утиліта Service Manager

Попередній перегляд

Ви можете вибрати будь-яку послугу> Змінити> Видалити. Метод працює негайно, перезавантаження не потрібно.

Виконаний файл: [Завантажити]

Вихідний код: [Завантажити]

Запис у блозі: [BlogLink]

Клас сервісного редактора: WinServiceUtils.cs

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.