Ați întâlnit o situație în care dezinstalarea software-ului își lasă intrările de serviciu sau driver în registry, iar Windows încearcă să le încarce la fiecare pornire, eșuează și înregistrează eroarea în jurnalul de evenimente de sistem la fiecare lansare?
Acest articol vă spune cum să ștergeți un serviciu orfan în Windows 10 (și anterioare) folosind registry, linia de comandă SC.exe, PowerShell sau Autoruns. Înainte de a continua, creați un Punct de restaurare a sistemului si ia o copie de rezervă completă a registrului.
Daca gasesti asta fara dependenti există pentru un serviciu, puteți șterge serviciul rămas sau nedorit din Windows utilizând una dintre următoarele metode.
Cuprins
-
Ștergeți un serviciu în Windows
- Metoda 1: Folosind comanda SC.EXE
- Metoda 2: Folosirea Autoruns
- Metoda 3: Utilizarea editorului de registry
- Metoda 4: Utilizarea PowerShell
- Metoda 5: Utilizarea Process Hacker
- INFORMAȚII: Vedeți dependenții unui serviciu
Cum să ștergeți un serviciu în Windows?
Puteți șterge un serviciu utilizând linia de comandă SC.exe încorporată, Editorul de registru, PowerShell sau un utilitar precum Autoruns. Urmați una dintre aceste metode:
Folosind comanda SC
The SC.EXE
Instrumentul de linie de comandă din Windows poate fi utilizat pentru a crea, edita sau șterge Servicii. Pentru a șterge un serviciu în Windows, utilizați următoarea sintaxă din linia de comandă de la Prompt de comandă admin:
sc șterge nume_serviciu
Unde numele serviciului se referă la numele scurt al serviciului, în loc de numele său afișat. Pentru a găsi numele scurt, deschideți MMC Servicii și faceți dublu clic pe un serviciu.
- Exemplul 1: Serviciul de actualizare Google (
gupdate
) este numele afișat șigupdate
este numele scurt. - Exemplul 2: Dell SupportAssist (
SupportAssistAgent
) este numele afișat șiSupportAssistAgent
este numele scurt.
O altă modalitate de a găsi numele scurt al unui serviciu este folosind această linie de comandă:
tip de interogare sc= serviciu | Mai mult
Comanda de mai sus listează toate serviciile împreună cu numele (scurt) al serviciului și numele afișat.
Sau, dacă știți numele afișat, puteți găsi numele serviciului folosind această comandă:
sc getkeyname „nume afișat serviciu”
care în acest exemplu este:
sc getkeyname „Google Update Service (gupdate)”
Odata ce nume scurt de serviciu este obținut folosind oricare dintre metodele de mai sus, utilizați această comandă pentru a șterge Serviciul:
sc ștergere test
Veți vedea rezultatul: [SC] DeleteService SUCCESS
Acest lucru șterge serviciul specificat (serviciu de testare în acest exemplu) de pe computer.
Dacă serviciul rulează sau un alt proces are un mâner deschis la serviciu, acesta va fi marcat pentru ștergere și eliminat la următoarea repornire.
Nu puteți șterge un serviciu?
Dacă primiți următoarea eroare când ștergeți serviciul, este posibil să încercați să ștergeți un serviciu dintr-un prompt de comandă normal în loc de un Prompt de comandă admin.
În cazul în care apare aceeași eroare într-un prompt de comandă admin, înseamnă că contul de utilizator conectat în prezent nu are permisiuni de control deplin pentru acel serviciu.
[SC] OpenService FAILED 5: Accesul este refuzat.
Pentru a rezolva această eroare la ștergerea unui serviciu, trebuie modificați mai întâi permisiunile de serviciu. Alternativ, puteți utiliza SISTEM sau Instalare de încredere cont pentru a șterge serviciul.
Folosind Autoruns din Windows Sysinternals
Autoruns, de la Microsoft Windows Sysinternals, este un trebuie avut instrument care vă ajută să gestionați pornirea Windows, serviciile, driverele, furnizorii Winsock, suplimentele Internet Explorer, extensiile Shell etc.
- Descărcați Autoruns și rulați-l
- Din fila Opțiuni, bifați Ascunde intrările Microsoft astfel încât să fie listate doar intrările de la terți.
- presa F5 pentru a reîmprospăta lista.
- Apasă pe Servicii pentru a șterge serviciul (serviciile) care sunt nedorite sau rămase.
- Închideți Autoruns.
Folosind Editorul Registrului
Pentru a șterge manual un serviciu direct prin Registrul Windows, urmați acești pași:
- start
Regedit.exe
și navigați la următoarea ramură:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
Fiecare subcheie sub cheia de registry de mai sus reprezintă un driver sau un serviciu. Numele cheii este același cu nume scurt a serviciului. De asemenea, ar trebui să puteți identifica cu ușurință intrarea uitându-vă la Numele afisat și ImagePath valorile din panoul din dreapta în Editorul Registrului.
- Găsiți intrarea pe care doriți să o ștergeți.
- Faceți backup pentru cheia corespunzătoare exportându-l la un fișier .reg.
- Odată exportat, faceți clic dreapta pe cheie și alegeți Ștergere.
- Ieșiți din Editorul Registrului.
Folosind PowerShell
Din fereastra de administrator PowerShell, puteți folosi următoarele comenzi pentru a șterge un serviciu.
$service = Get-WmiObject -Class Win32_Service -Filter "Nume='nume serviciu'" $service.delete()
Valoare returnată de 0
indică faptul că operația a avut succes. Serviciul este șters și nu va mai apărea în MMC Servicii.
Pentru a cunoaște semnificația unei valori returnate, consultați articolul Microsoft Ștergeți metoda clasei Win32_Service
sc.exe
) când îl rulați în PowerShell. Acest lucru se datorează faptului că comanda SC
(fără a menționa extensia .executabil
) va fi interpretat ca Set-Conținut
care este un cmdlet încorporat în PowerShell.Este și mai ușor dacă aveți instalat PowerShell 6.0. În PowerShell 6 și versiuni ulterioare, puteți utiliza această sintaxă pentru a elimina un serviciu:
Remove-Service -Name ServiceName
Rularea Eliminare-Service
comanda în versiunile mai vechi de PowerShell (<6.0) arată eroarea: Termenul „Remove-Service” nu este recunoscut ca numele unui cmdlet, funcție, fișier script sau program operabil.
Folosind Process Hacker
Process Hacker este un bun utilitar de gestionare a proceselor, care este similar ca aspect cu Process Explorer de la Microsoft. Cu Process Hacker, puteți șterge cu ușurință un serviciu prin meniul cu clic dreapta.
Porniți Process Hacker ca administrator. Comutați la fila Servicii, faceți clic dreapta pe serviciul pe care doriți să-l eliminați și faceți clic pe Ștergere.
(Ca o notă secundară, puteți și configura permisiuni de serviciu folosind Process Hacker.)
Descărcați Process Hacker de pe https://processhacker.sourceforge.io/
Vedeți dependenții unui serviciu
Când eliminați un serviciu, alții care depind de serviciu nu vor porni, returnând eroarea „A apărut eroarea de sistem 1075. Serviciul de dependență nu există sau a fost marcat pentru ștergere.” Când un driver sau o intrare de serviciu rămâne în registru, dar fișierele corespunzătoare lipsesc, jurnalul de evenimente va înregistra o intrare cu ID: 7000
la fiecare început.
Nume jurnal: Sistem. Sursa: Service Control Manager. Data: ID eveniment: 7000. Nivel: Eroare. Descriere: Serviciul DgiVecp nu a pornit din cauza următoarei erori:Sistemul nu poate gasi fisierul specificat.
Deci, este recomandabil să verificați mai întâi dacă există persoane aflate în întreținere. Puteți verifica acest lucru în MMC Servicii făcând dublu clic pe elementul pe care urmează să îl ștergeți și făcând clic pe fila Dependențe. Lista componentelor care depind de serviciul respectiv este prezentată mai jos. Iată un exemplu în care „Fax” depinde de „Print Spooler” pentru a începe.
În timp ce majoritatea serviciilor terță parte nu au persoane aflate în întreținere, unele au. Este întotdeauna recomandabil să aruncați o privire la această filă înainte de a șterge elementul.
O altă modalitate de a verifica persoanele dependente este să rulați această comandă dintr-o fereastră de linie de comandă. (exemplu, Spooler de imprimare)
sc enumdepend spooler
Informațiile din acest articol se aplică tuturor versiunilor de Windows, inclusiv Windows 10.
O mică cerere: dacă ți-a plăcut această postare, te rog să distribui asta?
Un „mic” share din partea ta ar ajuta foarte mult la dezvoltarea acestui blog. Câteva sugestii grozave:- Fixați-l!
- Distribuie-l pe blogul tău preferat + Facebook, Reddit
- Trimiteți-l pe Tweet!