Сблъсквали ли сте се със ситуация, при която деинсталирането на софтуер оставя своите записи за услуга или драйвер в системния регистър и Windows се опитва да ги зареди при всяко стартиране, не успява и записва грешката в регистъра на системните събития при всяко стартиране?
Тази статия ви разказва как да изтриете осиротяла услуга в Windows 10 (и по-стари) с помощта на системния регистър, командния ред SC.exe, PowerShell или Автоматично стартиране. Преди да продължите по-нататък, създайте a Точка за възстановяване на системата и вземете а пълно архивиране на системния регистър.
Ако откриете това няма зависими лица съществува за услуга, можете да изтриете остатъчната или нежелана услуга в Windows, като използвате един от следните методи.
Съдържание
-
Изтриване на услуга в Windows
- Метод 1: Използване на командата SC.EXE
- Метод 2: Използване на Autoruns
- Метод 3: Използване на редактора на системния регистър
- Метод 4: Използване на PowerShell
- Метод 5: Използване на Process Hacker
- ИНФОРМАЦИЯ: Преглед на зависими от услуга
Как да изтрия услуга в Windows?
Можете да изтриете услуга с помощта на вградения команден ред SC.exe, редактора на системния регистър, PowerShell или помощна програма като Autoruns. Следвайте един от тези методи:
Използване на командата SC
В SC.EXE
Инструментът на командния ред в Windows може да се използва за създаване, редактиране или изтриване на услуги. За да изтриете услуга в Windows, използвайте следния синтаксис на командния ред от администраторски команден ред:
sc изтриване име на услугата
Където име на услугата се отнася до краткото име на услугата, вместо нейното показвано име. За да намерите краткото име, отворете Services MMC и щракнете двукратно върху услуга.
- Пример 1: Google Update Service (
gupdate
) е екранното име иgupdate
е краткото име. - Пример 2: Dell SupportAssist (
SupportAssistAgent
) е екранното име иSupportAssistAgent
е краткото име.
Друг начин да намерите краткото име на услуга е като използвате този команден ред:
sc заявка тип= услуга | Повече ▼
Горната команда изброява всички услуги, заедно с името на услугата (кратко) и екранното име.
Или, ако знаете екранното име, можете да намерите името на услугата, като използвате тази команда:
sc getkeyname "екранно име на услугата"
което в този пример е:
sc getkeyname "Google Update Service (gupdate)"
Веднъж кратко име на услугата се получава с помощта на някой от горните методи, използвайте тази команда, за да изтриете услугата:
sc изтриване тест
Ще видите изхода: [SC] УСПЕХ на DeleteService
Това изтрива посочената услуга („тестовата“ услуга в този пример) от компютъра.
Ако услугата работи или друг процес има отворена дръжка към услугата, тя ще бъде маркирана за изтриване и премахната при следващото рестартиране.
Не можете да изтриете услуга?
Ако получите следната грешка при изтриване на услугата, възможно е също така да се опитвате да изтриете услуга от нормален команден ред вместо от администраторски команден ред.
Ако същата грешка възникне в командния ред на администратора, това означава, че влезлият в момента потребителски акаунт няма пълни разрешения за контрол за тази услуга.
[SC] OpenService FAILED 5: Достъпът е отказан.
За да разрешите тази грешка при изтриване на услуга, трябва да първо променете разрешенията на услугата. Като алтернатива можете да използвате СИСТЕМА или Доверен инсталатор акаунт, за да изтриете услугата.
Използване на автоматично стартиране от Windows Sysinternals
Автоматично стартиране, от Microsoft Windows Sysinternals, е a трябва да има инструмент, който ви помага да управлявате стартиране на Windows, услуги, драйвери, доставчици на Winsock, добавки за Internet Explorer, разширения на Shell и др.
- Изтеглете Autoruns и го стартирайте
- От раздела Опции поставете отметка Скриване на записи на Microsoft така че да са изброени само записите на трети страни.
- Натиснете F5 за да обновите списъка.
- Щракнете върху Услуги раздел, за да изтриете услугите, които са нежелани или останали.
- Затворете автоматичното стартиране.
Използване на редактора на системния регистър
За да изтриете ръчно услуга директно през системния регистър на Windows, използвайте тези стъпки:
- Започнете
Regedit.exe
и отидете до следния клон:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
Всеки подключ под горния ключ на системния регистър представлява драйвер или услуга. Името на ключа е същото като кратко име на услугата. Освен това трябва да можете лесно да идентифицирате записа, като погледнете DisplayName и ImagePath стойности в десния панел в редактора на системния регистър.
- Намерете записа, който искате да изтриете.
- Архивирайте съответния ключ чрез изнасяйки го към .reg файл.
- След като експортирате, щракнете с десния бутон върху ключа и изберете Изтрий.
- Излезте от редактора на системния регистър.
Използване на PowerShell
От администраторския прозорец на PowerShell можете да използвате следните команди, за да изтриете услуга.
$service = Get-WmiObject -Class Win32_Service -Filter "Name='servicename'" $service.delete()
Връщана стойност на 0
показва, че операцията е била успешна. Услугата е изтрита и вече няма да се показва в MMC на услугите.
За да разберете значението на връщаната стойност, вижте статията на Microsoft Метод за изтриване на класа Win32_Service
sc.exe
), когато го изпълнявате в PowerShell. Това е така, защото командата SC
(без да споменаваме разширението .exe
) ще се тълкува като Set-Content
който е вграден командлет в PowerShell.Още по-лесно е, ако имате инсталиран PowerShell 6.0. В PowerShell 6 и по-нова версия можете да използвате този синтаксис, за да премахнете услуга:
Remove-Service -Име Име на услугата
Изпълнение на Премахване-Услуга
командата в по-стари версии на PowerShell (<6.0) показва грешката: Терминът „Remove-Service“ не се разпознава като име на командлет, функция, скриптов файл или работеща програма.
Използване на Process Hacker
Process Hacker е добра помощна програма за управление на процеси, която прилича на външен вид на Process Explorer на Microsoft. С Process Hacker можете лесно да изтриете услуга чрез менюто с десен бутон.
Стартирайте Process Hacker като администратор. Превключете към раздела Услуги, щракнете с десния бутон върху услугата, която искате да премахнете, и щракнете върху Изтрий.
(Като странична бележка, можете също да конфигурирате разрешения за обслужване с помощта на Process Hacker.)
Изтеглете Process Hacker от https://processhacker.sourceforge.io/
Преглед на зависими от услуга
Когато премахнете услуга, други, които зависят от услугата, няма да успеят да стартират, връщайки грешката „Възникна системна грешка 1075. Услугата за зависимости не съществува или е маркирана за изтриване.”. Когато в регистъра остане запис на драйвер или услуга, но липсват съответните файлове, дневникът на събитията записва запис с ID: 7000
при всяко начало.
Име на регистрационния файл: Система. Източник: Service Control Manager. Дата: ID на събитието: 7000. Ниво: Грешка. Описание: Услугата DgiVecp не успя да се стартира поради следната грешка:Системата не може да намери посочения файл.
Затова е препоръчително първо да проверите дали има зависими. Можете да проверите това в Services MMC, като щракнете двукратно върху елемента, който ще изтриете, и щракнете върху раздела Зависимости. Списъкът с компоненти, които зависят от тази услуга, е показан по-долу. Ето пример, при който „Факс“ зависи от „Print Spooler“ за стартиране.
Докато повечето услуги на трети страни нямат зависими, някои имат. Винаги е препоръчително да погледнете този раздел, преди да изчистите елемента.
Друг начин за проверка на зависимите е да изпълните тази команда от прозорец на командния ред. (пример, Print Spooler)
sc enumdepend спулер
Информацията в тази статия се отнася за всички версии на Windows, включително Windows 10.
Една малка молба: Ако тази публикация ви е харесала, моля, споделете я?
Едно "малко" споделяне от вас сериозно би помогнало много за развитието на този блог. Някои страхотни предложения:- Закачете го!
- Споделете го с любимия си блог + Facebook, Reddit
- Twitter го!