Er du stødt på en situation, hvor afinstallation af software forlader dens service- eller driverposter i registreringsdatabasen, og Windows forsøger at indlæse dem ved hver opstart, fejler og logger fejlen til systemhændelsesloggen hver gang start op?
Denne artikel fortæller dig, hvordan du sletter en forældreløs tjeneste i Windows 10 (og tidligere) ved hjælp af registreringsdatabasen, SC.exe-kommandolinjen, PowerShell eller Autoruns. Inden du fortsætter, skal du oprette en Systemgendannelsespunkt og tag en komplet sikkerhedskopiering af registreringsdatabasen.
Hvis du finder det ingen pårørende eksisterer for en tjeneste, kan du slette den resterende eller uønskede tjeneste i Windows ved hjælp af en af følgende metoder.
Indhold
-
Slet en tjeneste i Windows
- Metode 1: Brug af kommandoen SC.EXE
- Metode 2: Brug af autoruns
- Metode 3: Brug af registreringseditoren
- Metode 4: Brug af PowerShell
- Metode 5: Brug af Process Hacker
- INFO: Se afhængige af en tjeneste
Hvordan sletter man en tjeneste i Windows?
Du kan slette en tjeneste ved hjælp af den indbyggede SC.exe-kommandolinje, registreringseditoren, PowerShell eller et hjælpeprogram som Autoruns. Følg en af disse metoder:
Brug af SC-kommandoen
Det SC.EXE
kommandolinjeværktøj i Windows kan bruges til at oprette, redigere eller slette tjenester. For at slette en tjeneste i Windows skal du bruge følgende kommandolinjesyntaks fra admin kommandoprompt:
sc slet tjenestenavn
Hvor tjeneste_navn henviser til tjenestens korte navn i stedet for dens visningsnavn. For at finde det korte navn skal du åbne Services MMC og dobbeltklikke på en tjeneste.
- Eksempel 1: Google Update Service (
gupdate
) er visningsnavnet, oggupdate
er det korte navn. - Eksempel 2: Dell SupportAssist (
SupportAssistAgent
) er visningsnavnet, ogSupportAssistAgent
er det korte navn.
En anden måde at finde det korte navn på en tjeneste er ved at bruge denne kommandolinje:
sc forespørgsel type= service | mere
Ovenstående kommando viser alle tjenesterne sammen med tjenestens (korte) navn og visningsnavnet.
Eller, hvis du kender visningsnavnet, kan du finde tjenestenavnet ved hjælp af denne kommando:
sc getkeyname "tjenestens visningsnavn"
som i dette eksempel er:
sc getkeyname "Google Update Service (gupdate)"
En gang tjeneste kort navn opnås ved hjælp af en af ovenstående metoder, skal du bruge denne kommando til at slette tjenesten:
sc slet test
Du vil se outputtet: [SC] Sletservice SUCCES
Dette sletter den angivne tjeneste ("test"-tjeneste i dette eksempel) fra computeren.
Hvis tjenesten kører, eller en anden proces har en åbent håndtag til tjenesten, vil den blive markeret til sletning og fjernet ved næste genstart.
Kan du ikke slette en tjeneste?
Hvis du modtager følgende fejl, når du sletter tjenesten, kan det også være muligt, at du forsøger at slette en tjeneste fra en normal kommandoprompt i stedet for en admin kommandoprompt.
Skulle den samme fejl opstå i en admin-kommandoprompt, betyder det, at den aktuelt loggede brugerkonto ikke har fulde kontroltilladelser til den pågældende tjeneste.
[SC] OpenService FAILED 5: Adgang nægtes.
For at løse denne fejl, når du sletter en tjeneste, skal du ændre tjenestetilladelserne først. Alternativt kan du bruge SYSTEM eller TrustedInstaller konto for at slette tjenesten.
Brug af autoruns fra Windows Sysinternals
Autoruns, fra Microsoft Windows Sysinternals, er en må have værktøj, der hjælper dig med at administrere Windows-opstart, tjenester, drivere, Winsock-udbydere, Internet Explorer-tilføjelser, Shell-udvidelser osv.
- Download Autoruns og kør det
- Fra fanen Indstillinger skal du markere Skjul Microsoft-indgange så kun tredjepartsposter er opført.
- Trykke F5 for at opdatere fortegnelsen.
- Klik på Tjenester fanen for at slette den eller de tjenester, der er uønskede eller tilovers.
- Luk Autoruns.
Brug af registreringseditoren
Brug disse trin for manuelt at slette en tjeneste direkte via Windows-registreringsdatabasen:
- Start
Regedit.exe
og naviger til følgende gren:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
Hver undernøgle under ovenstående registreringsnøgle repræsenterer en driver eller en tjeneste. Nøglenavnet er det samme som kort navn af tjenesten. Du bør også være i stand til nemt at identificere posten ved at se på Vist navn og ImagePath værdier i højre rude i registreringseditoren.
- Find den post, du vil slette.
- Sikkerhedskopier den relevante nøgle ved eksportere det til en .reg-fil.
- Når den er eksporteret, skal du højreklikke på nøglen og vælge Slet.
- Afslut registreringseditoren.
Bruger PowerShell
Fra PowerShell-administratorvinduet kan du bruge følgende kommandoer til at slette en tjeneste.
$service = Get-WmiObject -Class Win32_Service -Filter "Name='servicename'" $service.delete()
Returværdi af 0
angiver, at operationen var vellykket. Tjenesten er slettet og vil ikke længere dukke op i Services MMC.
For at kende betydningen af en returværdi, tjek Microsoft-artiklen Slet metode for Win32_Service-klassen
sc.exe
), når du kører det i PowerShell. Dette er fordi kommandoen SC
(uden at nævne forlængelsen .exe
) vil blive fortolket som Sæt-indhold
som er en indbygget cmdlet i PowerShell.Det er endnu nemmere, hvis du har PowerShell 6.0 installeret. I PowerShell 6 og nyere kan du bruge denne syntaks til at fjerne en tjeneste:
Remove-Service -Name ServiceName
Kører Fjern-service
kommando i ældre versioner af PowerShell (<6.0) viser fejlen: Udtrykket "Fjern-tjeneste" genkendes ikke som navnet på en cmdlet, funktion, scriptfil eller et program, der kan betjenes.
Bruger Process Hacker
Process Hacker er et godt processtyringsværktøj, der ligner Microsofts Process Explorer i udseende. Med Process Hacker kan du nemt slette en tjeneste via højreklik-menuen.
Start Process Hacker som administrator. Skift til fanen Tjenester, højreklik på den tjeneste, du vil fjerne, og klik på Slet.
(Som en sidebemærkning kan du også konfigurere servicetilladelser ved hjælp af Process Hacker.)
Download Process Hacker fra https://processhacker.sourceforge.io/
Se afhængige af en tjeneste
Når du fjerner en tjeneste, vil andre, der er afhængige af tjenesten, ikke starte, hvilket returnerer fejlen "Systemfejl 1075 er opstået. Afhængighedstjenesten eksisterer ikke eller er blevet markeret til sletning.”. Når en driver eller servicepost er tilbage i registreringsdatabasen, men de tilsvarende filer mangler, vil hændelsesloggen registrere en post med ID: 7000
ved hver start.
Lognavn: System. Kilde: Service Control Manager. Dato: Begivenheds-id: 7000. Niveau: Fejl. Beskrivelse: DgiVecp-tjenesten kunne ikke starte på grund af følgende fejl:Systemet kan ikke finde den angivne fil.
Så det er tilrådeligt først at tjekke, om der er nogen pårørende. Du kan kontrollere det i Services MMC ved at dobbeltklikke på det element, du vil slette, og klikke på fanen Afhængigheder. Listen over komponenter, der afhænger af den pågældende service, er vist nedenfor. Her er et eksempel, hvor "Fax" afhænger af "Print Spooler" for at starte.
Mens de fleste tredjepartstjenester ikke har nogen pårørende, har nogle det. Det er altid tilrådeligt at tage et kig på denne fane, før du rydder varen.
En anden måde at bekræfte de pårørende på er at køre denne kommando fra et kommandopromptvindue. (eksempel, Print Spooler)
sc enumdepend spooler
Oplysningerne i denne artikel gælder for alle versioner af Windows, inklusive Windows 10.
En lille anmodning: Hvis du kunne lide dette opslag, så del venligst dette?
En "lille" andel fra dig ville virkelig hjælpe meget med væksten af denne blog. Nogle gode forslag:- Fastgør det!
- Del det på din yndlingsblog + Facebook, Reddit
- Tweet det!