Hur man tar bort en tjänst i Windows 10 och tidigare

Har du stött på en situation där avinstallation av en programvara lämnar sina Service- eller drivrutinposter i registret, och Windows försöker ladda dem vid varje start, misslyckas och loggar felet i System Event loggen vid varje start?

Det här inlägget berättar hur du tar bort en föräldralös tjänst i Windows 10, 8, 7 & Vista med hjälp av registret, kommandorad SC.exe eller med Autoruns. Innan du fortsätter vidare, skapa en systemåterställningspunkt och / eller en fullständig säkerhetskopia av registret.

Hur tar jag bort en tjänst i Windows?

Om du upptäcker att det inte finns några beroende för en tjänst kan du fortsätta ta bort den återstående eller oönskade tjänsten i Windows med hjälp av någon av följande metoder.

Metod 1: Radera en tjänst med kommandot SC.EXE

SC-kommandoradsverktyget i Windows kan användas för att skapa, redigera eller radera tjänster. Om du vill ta bort en tjänst i Windows använder du följande kommandoradssyntax från admin Kommandotolken:

 sc radera servicenamn 

Där servicenamn hänvisar till kortnamnet eller tjänstens nyckelnamn istället för dess visningsnamn. För att hitta kortnamnet öppnar du Services MMC och dubbelklickar på en tjänst.

  • Exempel 1: Kortnamn för automatiska uppdateringar är wuauserv, och visningsnamnet är "Automatiska uppdateringar."
  • Exempel 2: Google Update Service (gupdate) är visningsnamnet och gupdate är det korta namnet

Ett annat sätt att hitta det korta namnet på en tjänst är genom att använda den här kommandoraden:

 sc getkeyname "tjänstens visningsnamn" 

vilket i detta exempel är:

 sc getkeyname "Google Update Service (gupdate)" 

När tjänsten kortnamn har erhållits med någon av ovanstående metoder, använd detta kommando för att radera tjänsten:

 sc radera test 

Du ser utdata: [SC] DeleteService SUCCESS

Detta raderar den angivna tjänsten ("test" -tjänsten i detta exempel) från datorn.

Om tjänsten körs eller om en annan process har ett öppet handtag för tjänsten markeras tjänsten helt enkelt för borttagning och tas bort vid nästa omstart.


Metod 2: Radera en tjänst med hjälp av Autoruns från Windows Sysinternals

Autoruns, från Microsoft Windows Sysinternals, är ett måste- verktyg som hjälper dig att hantera Windows start, tjänster, drivrutiner, Winsock-leverantörer, Internet Explorer-tillägg, Shell-tillägg och mycket mer.

  1. Ladda ner Autoruns och kör det
  2. På fliken Alternativ markerar du Dölj Microsoft-poster så att endast poster från tredje part listas.
  3. Tryck på F5 för att uppdatera listan.
  4. Klicka på fliken Tjänster, där du kan ta bort de tjänster som är oönskade eller kvar.

  5. Stäng Autoruns.

Metod 3: Radera en tjänst med hjälp av registerredigeraren

Om du vill ta bort en tjänst manuellt från Windows-registret använder du dessa steg:

  1. Starta Regedit.exe och navigera till följande gren:
     HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services 

    Services-registernyckel.

    Varje undernyckel under ovanstående registernyckel representerar en drivrutin eller en tjänst. Nyckelnamnet är också kortens namn på tjänsten. Du bör också kunna identifiera posten enkelt genom att titta på värdena DisplayName och ImagePath i högra rutan i registerredigeraren.

  2. Hitta posten du vill ta bort.
  3. Säkerhetskopiera lämplig nyckel genom att exportera den till en .reg-fil.
  4. När du har exporterats högerklickar du på knappen och väljer Ta bort.
  5. Avsluta registerredigeraren.

Metod 4: Radera en tjänst med PowerShell

Från PowerShell-administratörsfönstret kan du använda följande kommandon för att radera en tjänst.

 $ service = Get-WmiObject -Class Win32_Service -Filter "Name = 'servicename'" $ service.delete () 

ReturnValue of 0 indikerar att operationen var framgångsrik. Tjänsten raderas och visas nu längre i Services MMC.

För att veta betydelsen för ett returvärde, kolla in Microsoft-artikel Ta bort metod i klassen Win32_Service

Eller så kan du köra kommandot sc.exe i PowerShell. Det skulle fungera också. Men du måste använda filändelsen ( sc.exe ) när du kör den i PowerShell. Detta beror på att kommandot SC (utan att nämna tillägget .exe ) kommer att tolkas som Set-Content som är en inbyggd cmdlet i PowerShell.

Det är ännu enklare om du har PowerShell 6.0 installerat. I PowerShell 6 och högre kan du använda den här syntaxen för att ta bort en tjänst:

 Ta bort-Service-Namn Service-namn 

Att köra kommandot Remove-Service i äldre versioner av PowerShell (<6.0) visar felet: Termen 'Remove-Service' känns inte igen som namnet på en cmdlet, funktion, skriptfil eller operativt program.

Visa beroende av en tjänst

När du tar bort en tjänst skulle andra som är beroende av tjänsten misslyckas med att starta, felmeddelande ” Systemfel 1075 har inträffat. Beroendestjänsten finns inte eller har markerats för borttagning. ”. När det finns kvar en drivrutin eller en servicepost i registret men motsvarande filer saknas, kommer händelseloggen att spela in en post med ID:7000 vid varje start.

Loggnamn: System

Källa: Service Control Manager

Datum:

Event ID: 7000

Nivå: Fel

Beskrivning:

DgiVecp-tjänsten kunde inte starta på grund av följande fel:

Systemet kan icke finna den specificerade filen.

Så det är lämpligt att först kontrollera om det finns några beroende. Du kan kontrollera det i Services MMC genom att dubbelklicka på det objekt du ska ta bort och klicka på fliken Beroende. Listan över komponenter som är beroende av den tjänsten visas nedan. Här är ett exempel där "Fax" beror på "Print Spooler" för att starta.

Medan de flesta tjänster från tredje part inte har några beroende, gör vissa det. Det är alltid tillrådligt att titta på den här fliken innan du rensar föremålet.

Ett annat sätt att verifiera beroende är att köra det här kommandot från ett kommandotolk-fönster. (exempel, Print Spooler )

 sc enumdependently spooler 

Informationen i denna artikel gäller alla versioner av Windows, inklusive Windows 10.

Relaterade Artiklar