Stretli ste sa so situáciou, keď odinštalovanie softvéru zanechá jeho položky služby alebo ovládača v registra a Windows sa ich pokúša načítať pri každom spustení, zlyhá a pri každom zaznamená chybu do denníka systémových udalostí začiatok?
Tento článok vám povie, ako odstrániť osirotenú službu v systéme Windows 10 (a staršom) pomocou registra, príkazového riadka SC.exe, prostredia PowerShell alebo Autoruns. Pred ďalším pokračovaním vytvorte a Bod obnovenia systému a vziať a úplná záloha databázy Registry.
Ak to nájdete žiadne závislé osoby existuje pre službu, môžete odstrániť zvyšnú alebo nechcenú službu v systéme Windows pomocou jednej z nasledujúcich metód.
Obsah
-
Odstráňte službu v systéme Windows
- Metóda 1: Pomocou príkazu SC.EXE
- Metóda 2: Použitie automatického spustenia
- Metóda 3: Použitie Editora databázy Registry
- Metóda 4: Používanie prostredia PowerShell
- Metóda 5: Použitie Process Hacker
- INFO: Zobraziť závislé služby
Ako odstrániť službu v systéme Windows?
Službu môžete odstrániť pomocou vstavaného príkazového riadka SC.exe, Editora databázy Registry, PowerShell alebo pomôcky, ako je Autoruns. Postupujte podľa jednej z týchto metód:
Pomocou príkazu SC
The SC.EXE
nástroj príkazového riadka v systéme Windows možno použiť na vytváranie, úpravu alebo odstraňovanie služieb. Ak chcete odstrániť službu v systéme Windows, použite nasledujúcu syntax príkazového riadka z Príkazový riadok správcu:
sc delete service_name
Kde názov_služby odkazuje na krátky názov služby namiesto jej zobrazovaného názvu. Ak chcete nájsť krátky názov, otvorte Services MMC a dvakrát kliknite na službu.
- Príklad 1: Aktualizačná služba Google (
gupdate
) je zobrazovaný názov agupdate
je krátky názov. - Príklad 2: Dell SupportAssist (
SupportAssistAgent
) je zobrazovaný názov aSupportAssistAgent
je krátky názov.
Ďalším spôsobom, ako nájsť krátky názov služby, je použiť tento príkazový riadok:
Typ dotazu sc= služba | viac
Vyššie uvedený príkaz uvádza zoznam všetkých služieb spolu s (krátkym) názvom služby a zobrazovaným názvom.
Alebo, ak poznáte zobrazovaný názov, môžete názov služby nájsť pomocou tohto príkazu:
sc getkeyname "zobrazovaný názov služby"
čo je v tomto príklade:
sc getkeyname "Google Update Service (gupdate)"
Raz krátky názov služby sa získa pomocou ktorejkoľvek z vyššie uvedených metód, použite tento príkaz na odstránenie služby:
sc odstrániť test
Uvidíte výstup: [SC] Vymazanie služby ÚSPEŠNÉ
Tým sa z počítača odstráni určená služba (v tomto príklade „testovacia“ služba).
Ak je služba spustená alebo iný proces má príponu otvorená rukoväť do služby, označí sa na vymazanie a odstráni sa pri ďalšom reštarte.
Nemôžete odstrániť službu?
Ak sa pri odstraňovaní služby zobrazí nasledujúca chyba, je tiež možné, že sa pokúšate odstrániť službu z normálneho príkazového riadka namiesto Príkazový riadok správcu.
Ak sa rovnaká chyba vyskytne v príkazovom riadku správcu, znamená to, že aktuálne prihlásený používateľský účet nemá oprávnenia na úplné riadenie tejto služby.
[SC] OpenService FAILED 5: Prístup je odmietnutý.
Ak chcete vyriešiť túto chybu pri odstraňovaní služby, musíte to urobiť najprv upravte povolenia služby. Prípadne môžete použiť SYSTÉM alebo TrustedInstaller účet na odstránenie služby.
Použitie Autoruns z Windows Sysinternals
Autoruns, od Microsoft Windows Sysinternals, je a musieť mať nástroj, ktorý vám pomôže spravovať spúšťanie systému Windows, služby, ovládače, poskytovateľov Winsock, doplnky pre Internet Explorer, rozšírenia Shell atď.
- Stiahnite si Autoruns a spustite ho
- Na karte Možnosti začiarknite Skryť položky Microsoft takže sú uvedené iba záznamy tretích strán.
- Stlačte tlačidlo F5 na obnovenie zoznamu.
- Kliknite na služby na vymazanie služieb, ktoré sú nežiaduce alebo zostávajúce.
- Zatvorte automatické spúšťanie.
Pomocou editora databázy Registry
Ak chcete manuálne odstrániť službu priamo prostredníctvom databázy Registry systému Windows, postupujte takto:
- Štart
Regedit.exe
a prejdite do nasledujúcej pobočky:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
Každý podkľúč pod vyššie uvedeným kľúčom databázy Registry predstavuje ovládač alebo službu. Názov kľúča je rovnaký ako krátke meno služby. Tiež by ste mali byť schopní ľahko identifikovať položku pri pohľade na Zobraziť meno a ImagePath hodnoty na pravej table v Editore databázy Registry.
- Nájdite položku, ktorú chcete odstrániť.
- Zálohujte príslušný kľúč pomocou exportovať to do súboru .reg.
- Po exportovaní kliknite pravým tlačidlom myši na kľúč a vyberte príkaz Odstrániť.
- Ukončite Editor databázy Registry.
Používanie prostredia PowerShell
V okne správcu PowerShell môžete na odstránenie služby použiť nasledujúce príkazy.
$service = Get-WmiObject -Class Win32_Service -Filter "Name='názov služby'" $service.delete()
Návratová hodnota z 0
znamená, že operácia bola úspešná. Služba sa odstráni a už sa nebude zobrazovať v MMC služieb.
Ak chcete poznať význam návratovej hodnoty, prečítajte si článok spoločnosti Microsoft Metóda odstránenia triedy Win32_Service
sc.exe
) pri spustení v prostredí PowerShell. Je to preto, že príkaz SC
(bez uvedenia rozšírenia .exe
) sa bude interpretovať ako Set-Content
čo je vstavaná rutina cmdlet v prostredí PowerShell.Je to ešte jednoduchšie, ak máte nainštalovaný PowerShell 6.0. V prostredí PowerShell 6 a novšom môžete na odstránenie služby použiť túto syntax:
Remove-Service -Name ServiceName
Spustenie Remove-Service
príkaz v starších verziách PowerShell (<6.0) zobrazuje chybu: Výraz „Remove-Service“ nie je rozpoznaný ako názov cmdlet, funkcie, súboru skriptu alebo operačného programu.
Použitie Process Hacker
Process Hacker je dobrá pomôcka na riadenie procesov, ktorá je vzhľadom podobná programu Process Explorer od spoločnosti Microsoft. Pomocou Process Hacker môžete jednoducho odstrániť službu pomocou ponuky pravým tlačidlom myši.
Spustite Process Hacker ako správca. Prejdite na kartu Služby, kliknite pravým tlačidlom myši na službu, ktorú chcete odstrániť, a kliknite na položku Odstrániť.
(Ako vedľajšiu poznámku, môžete tiež nakonfigurovať servisné povolenia pomocou Process Hacker.)
Stiahnite si Process Hacker z https://processhacker.sourceforge.io/
Zobraziť závislé na službe
Keď odstránite službu, ostatné, ktoré závisia od služby, sa nespustia a vrátia sa chyba „Vyskytla sa systémová chyba 1075. Závislá služba neexistuje alebo bola označená na vymazanie.“. Keď v registri zostane položka ovládača alebo služby, ale chýbajú zodpovedajúce súbory, denník udalostí zaznamená položku s ID: 7000
pri každom štarte.
Názov denníka: Systém. Zdroj: Service Control Manager. Dátum: ID udalosti: 7000. Úroveň: Chyba. Popis: Službu DgiVecp sa nepodarilo spustiť z dôvodu nasledujúcej chyby:Systém nemôže nájsť zadaný súbor.
Preto je vhodné najprv skontrolovať, či existujú nejaké závislé osoby. Môžete to skontrolovať v MMC služieb dvojitým kliknutím na položku, ktorú chcete odstrániť, a kliknutím na kartu Závislosti. Zoznam komponentov, ktoré závisia od tejto služby, je uvedený nižšie. Tu je príklad, kde „Fax“ závisí od „Zaraďovača tlače“ pri spustení.
Zatiaľ čo väčšina služieb tretích strán nemá žiadne závislé osoby, niektoré áno. Pred vymazaním položky je vždy vhodné pozrieť sa na túto kartu.
Ďalším spôsobom, ako overiť závislé osoby, je spustiť tento príkaz z okna príkazového riadka. (príklad, Zaraďovač tlače)
sc enumdepend spooler
Informácie v tomto článku sa vzťahujú na všetky verzie systému Windows vrátane Windowsu 10.
Jedna malá prosba: Ak sa vám tento príspevok páčil, zdieľajte ho?
Jedno "drobné" zdieľanie od vás by vážne pomohlo rastu tohto blogu. Niekoľko skvelých návrhov:- Pripnúť!
- Zdieľajte to na svojom obľúbenom blogu + Facebook, Reddit
- Tweetujte!