Jak mogę usunąć usługę w systemie Windows?


Odpowiedzi:


783

Użyj polecenia SC , tak jak poniżej (musisz być w wierszu polecenia, aby wykonać polecenia w tym poście):

SC STOP shortservicename
SC DELETE shortservicename

Uwaga: musisz uruchomić wiersz polecenia jako administrator, nie tylko zalogowany jako administrator, ale także z uprawnieniami administracyjnymi. Jeśli pojawią się powyższe błędy związane z brakiem niezbędnych uprawnień dostępu do zatrzymania i / lub usunięcia usługi, uruchom wiersz polecenia jako administrator. Możesz to zrobić, wyszukując wiersz polecenia w menu Start, a następnie klikając prawym przyciskiem myszy i wybierając „Uruchom jako administrator”. Uwaga dla użytkowników PowerShell: sc jest aliasowany do set-content. Tak sc delete servicenaprawdę stworzy plik o nazwie deletez zawartością service. Aby to zrobić w programie Powershell, użyj sc.exe delete servicezamiast tego


Jeśli chcesz znaleźć krótką nazwę usługi, użyj następującego polecenia, aby wygenerować plik tekstowy zawierający listę usług i ich statusów:

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

Aby uzyskać bardziej zwięzłą listę, wykonaj następujące polecenie:

SC QUERY state= all | FIND "_NAME"

Skrócona nazwa usługi zostanie wyświetlona tuż nad nazwą wyświetlaną, tak jak poniżej:

SERVICE_NAME: MyService
DISPLAY_NAME: My Special Service

Aby usunąć tę usługę:

SC STOP MyService
SC DELETE MyService

5
Usunąć usługę SSDP Discovery? Służy do wykrywania i konfigurowania urządzeń UPnP w sieci lokalnej, nie należy go usuwać. Został po prostu użyty jako przykład.
Lasse V. Karlsen

5
Oooch, rozumiem, tak. Myślałem, że masz na myśli usunięcie usług, które nie są zalecane. Dziękuję za odpowiedź!
sgwill

16
Zastanawiam się, ilu sysadminów już przypadkowo usunęło usługę SSDPSRV wyłącznie z powodu tej odpowiedzi: p
Vincent Vancalbergh

6
Użyj, sc query state= allaby uzyskać pełną listę usług; podstawowe sc querynie zwróci nieaktywnych (czyli niepełnosprawnych) usług.
tricasse

32
Pamiętaj, że jeśli używasz PowerShell, scjest alias do set-content. Tak sc delete servicenaprawdę stworzy plik o nazwie deletez zawartością service. Aby to zrobić w programie Powershell, użyj sc.exe delete servicezamiast tego.
KFL

48

Kliknij Start | Uruchom i wpisz regeditlinię Open:. Kliknij OK.

Nawigować do HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services

Przewiń lewy panel, zlokalizuj nazwę usługi, kliknij ją prawym przyciskiem myszy i wybierz Usuń .

Uruchom ponownie system.


1
Jest to dobra rezerwa, gdy plik wykonywalny hostujący usługę został usunięty (nie odinstalowany), a preferowany sc deletemechanizm zawiedzie. Dzięki.
holtavolt,

17

Użyj services.msc lub (Start> Panel sterowania> Narzędzia administracyjne> Usługi), aby znaleźć daną usługę. Kliknij dwukrotnie, aby zobaczyć nazwę usługi i ścieżkę do pliku wykonywalnego.

Sprawdź informacje o wersji exe, aby uzyskać wskazówki co do właściciela usługi, i użyj Dodaj / Usuń programy, aby wykonać czystą dezinstalację, jeśli to możliwe.

W przeciwnym razie z wiersza polecenia:

sc stop servicexyz
sc delete servicexyz

Ponowne uruchomienie nie powinno być wymagane.


2
Pamiętaj, że jeśli usługa ma spacje w nazwie, musisz zawrzeć pełne imię i nazwisko w cudzysłowie - jaksc delete "Amazon Assistant Service"
Jan „splite” K.

13
SC DELETE "service name"

Uruchom polecenie na cmd jako Administrator, w przeciwnym razie pojawi się ten błąd: -

niepowodzenie usługi otwartej 5 odmowa dostępu


9

Możemy to zrobić na dwa różne sposoby

Usuń usługę systemu Windows za pomocą rejestru

Bardzo łatwo jest usunąć usługę z rejestru, jeśli znasz właściwą ścieżkę. Oto jak to zrobiłem:

  1. Uruchom Regedit lub Regedt32

  2. Przejdź do wpisu rejestru „HKEY_LOCAL_MACHINE / SYSTEM / CurrentControlSet / Services”

  3. Poszukaj usługi, którą chcesz usunąć, i usuń ją. Możesz spojrzeć na klucze, aby dowiedzieć się, jakich plików używała usługa, a także je usunąć (jeśli to konieczne).

Usuń usługę Windows za pomocą okna poleceń

Możesz też użyć wiersza polecenia i usunąć usługę, używając następującego polecenia:

sc usuń

Możesz także utworzyć usługę za pomocą następującego polecenia

sc create "MorganTechService" binpath = "C: \ Program Files \ MorganTechSPace \ myservice.exe"

Uwaga: Konieczne może być ponowne uruchomienie systemu, aby zaktualizować listę w menedżerze usług.


5
Metoda regedit nie działała dla mnie. Kiedy odświeżyłem menedżera usług, nadal wyświetlał usługę, ale wystąpił błąd informujący, że nie można wyświetlić opisu.
datguy,

2
Uwaga: Konieczne może być ponowne uruchomienie systemu, aby zaktualizować listę w menedżerze usług.
kombsh

2
Może, ale to powoduje, że podejście regedit jest gorsze od polecenia SC, co nie wymaga ponownego uruchomienia.
datguy

4
To zawiedli moich usług :( proszę nie zwieść tej głupiej goodle, showup ten Anser w swoim wyszukiwaniu automactically i ufałem jej i następnie go na oślep, bez klikania w link SOF i musiałem Reimage moją maszynę.
Anand Rockzz

dzięki za metodę rejestru. jedyny sposób, w jaki mogłem to zrobić na maszynie renegata.
frostymarvelous

8

Jeśli masz system Windows Vista lub nowszy, uruchom go z wiersza polecenia jako Administrator:

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

Na przykład: sc delete moneytransfer

Usuń folder C:\Program Files\BBRTL\moneytransfer\

Znajdź klucze rejestru moneytransfer i usuń je:

 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

Te kroki zostały przetestowane w systemach Windows XP, Windows 7, Windows Vista, Windows Server 2003 i Windows Server 2008.


6

Jeśli są to usługi utworzone .NET, możesz użyć installutil.exe z przełącznikiem / u w folderze .NET Framework, takim jak C: \ Windows \ Microsoft.NET \ Framework64 \ v2.0.50727


6

Jak opisano powyżej wykonałem:

sc delete ServiceName

Jednak to nie działało, ponieważ wykonywałem go z PowerShell.

Podczas korzystania z programu PowerShell należy podać pełną ścieżkę do, sc.exeponieważ program PowerShell ma domyślny alias do scprzypisywania go Set-Content. Ponieważ jest to prawidłowe polecenie, w rzeczywistości nie wyświetla komunikatu o błędzie.

Aby rozwiązać ten problem, wykonałem go w następujący sposób:

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

2

Oto skrypt VBS, który został mi przekazany:

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

Prawdopodobnie nameofmyservice, a nie NameOfMyService, ponieważ sname ma małe litery na linii wcześniej.
Dominik George,


0

Dla mnie utworzona przeze mnie usługa musiała zostać odinstalowana w Panelu sterowania> Programy i funkcje


jak możesz zobaczyć usługi zainstalowane w programach i funkcjach
Nisha

O ile dobrze pamiętam, to właśnie wtedy program, który, jak sądzę, był podzielony, po zainstalowaniu działał jako usługa, ponieważ hostował lokalnie, możesz przejść do localhost: 8080, aby wyświetlić lokalną stronę internetową. Aby go usunąć, musiałem przejść do całego programu.
Demodave,

Dziękuję Ci. Zainstalowałem usługi za pomocą wiersza polecenia. Usunąłem za pomocą cmd w cmd pmpt. Jeszcze raz dziękuję za odpowiedź.
Nisha,


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.