Нельзя остановить службу Windows: кнопка не работает.
Разбирая настройки или неисправности в Windows, нам с вами порой приходится обращаться к списку служб с целью проверить ту или иную на работоспособность. Не редкость, что те или иные из них просто застревают при запуске системы. Предлогом для этого чаще всего бывают обновления, после которых иногда система ошибочно разворачивает пользователя обратно при попытке доступа к какой-то настройке или функции. Нередко сопровождая это событие сообщением типа Доступ запрещён или наподобие. Под ошибкой же, указанной в заголовке, прежде всего подразумевается проблема, из-за которой кнопка запуска службы или её остановки неактивна. Интерфейс окна со Свойствами службы подразумевает какое-то из действий (Запустить, Остановить и т.д.)…
но сделать это не получается. Ибо кнопки выключены и недоступны для нажатия. Но на то у системы есть ряд весомых причин:
- Служба защищена системой, и способ запуска регулируется самой ОСью
- Учётной записи не хватает прав для управления службой, так как изменение типа запуска влияет на работу системы.
- Зависимости между службами не позволяют изменять работу некоторых плотно взаимосвязанных сервисов. Остановка некоторых неизбежно повлияет на работу других, критичных для системы служб.
Нижеприводимые советы касаются прежде всего ошибочно отвалившихся служб, на которые “системная длань” не распространяется. На какую из служб вы наткнулись в попытке ею управлять, не знаю. Однако для изменения её работы можно попробовать следующие шаги. СРАЗУ – запуская некоторые в определённой последовательности можно продвинуться чуть дальше, чем просто остановить какую-то службу. Но сейчас о главном в следующей последовательности:
- Начинайте работу в консоли служб, запуская её только от имени администратора;
- Приостановите работу службы (через Службы или Конфигурацию системы);
- Запускайте или Останавливайте службу через консоль команд;
- Измените тип запуска, используя редактор реестра наглядно по видеороликам.
Приподнимите права.
Апплет со службами подразумевает в том числе работу и с административными правами. Вот так:
Если активна хоть какая из четырёх кнопок, попробуйте её в зависимости от предлагаемого действия. Далее по усмотрению или возможности.
А что скажет Конфигурация системы?
Вызываем Выполнить (WIN + R) и вводим
msconfig -3
Найдите нужную службу, воткните или снимите галочку по необходимости
Нельзя остановить службу? Остановите или/и запустите командой из консоли Power Shell и cmd.
Из неё же – консоли – можно забрать и имя службы, не залезая в одноимённый апплет. Запустите консоль команд Power Shell от имени администратора и введите оттуда команду на Старт по образу
Start-Service -Name “имя-службы”
или на Остановку:
Stop-Service -Name “имя-службы”
Если обнаружить нужное не можете, проверьте все списком:
Get-Service | Format-Table -Auto
Не покидая Power Shell можно управлять запуском и работой служб. Просто включить:
Set-Service -Name "имя-службы" -StartupType AutomaticDelayedStart
Set-Service -Name "имя-службы" -StartupType Automatic
Set-Service -Name "имя-службы" -StartupType Manual
Set-Service -Name "имя-службы" -StartupType AutomaticDelayedStart -Status Running
Set-Service -Name "имя-службы" -StartupType Automatic -Status Running
Set-Service -Name "имя-службы" -StartupType Manual -Status Running
Читайте, что отвечает консоль PS. Но старая добрая консоль CMD тоже кое-что может. Обратите внимание на команду sc в таких вариантах:
sc queryex type= service state= all
отобразит состояние служб по тому же принципу, что и апплет Службы, но без графического интерфейса.
И вот так с ними можно поработать из-той же cmd:
sc config "имя-службы" start=delayed-auto
sc config "имя-службы" start=auto
или Вручную
sc config "имя-службы" start=demand
sc config "имя-службы" start=delayed-auto && sc start "имя-службы"
sc config "имя-службы" start=auto && sc start "имя-службы"
sc config "имя-службы" start=demand && sc start "имя-службы"
Кстати, есть смысл взять на заметку возможность консоли тормозить многие задачи. В консоли от имени администратора проверим список служб:
sc queryex <имя-службы>
и сразу попробуйте её завершить с помощью taskkill:
taskkill /F /PID <ID службы>
или изощриться через связанный процесс:
taskkill /F /IM <имя-процесса.exe>
Однако, если службе предписано запускаться, не прекращая работы на протяжении всего сеанса, на эти команды в последних версиях Windows реагировать не будет:
Так что более продвинутыми вариациями команды sc типа
sc stop "имя-службы" && sc config "имя-службы" start=disabled
для остановки службы защищённой вам также не удастся воспользоваться. Остаётся только один вариант.
Как остановить системную службу Windows? Смените принцип запуска через реестр.
На данный момент – наиболее действенный вариант. Оперируя указанными возможностями, можно попытаться остановить службу Windows, которой та приказала на ваши действия не реагировать. Служба – это не более, чем набор параметров реестра. А значит, нам оттуда (в теории) доступны и изменения, недоступные из апплета. Откроем редактор реестра в ключ (иногда это лучше проделывать именно в Безопасном режиме)
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
Перед тем, как продолжить, помните, что сейчас вы вступаете на скользкую дорожку. Делаем резервную копию раздела, перед тем как начать работу со службой!
Итак, все службы здесь. Нужную можно выцепить по её короткому имени в описании в Свойствах.
Для дальнейшей работы можно следовать простому шаблону. Ключевым в нём являются наличие обязательного параметра Start и присутствие/создание параметра DWORD (32-бит) с именем DelayedAutostart. Последнему нужно присвоить значение в зависимости от поставленной задачи по её запуску так:
- Вручную – присвоить Start 3 и DelayedAutostart – 0
- Автоматически – Start – 2 и DelayedAutostart – 0
- Автоматически (Отложенный запуск) – Start – 2 и DelayedAutostart – 1
- Отключено – Start – 4 и DelayedAutostart – 0
Rutube:
После перезагрузки служба уже не запустится. Запуск будет возможен только через редактор реестра откатом к предыдущим показаниям параметров. Успехов.