Отключить службу Windows из командной строки

56

Я хочу отключить службу Windows, но не хочу:

  1. Откройте консоль управления «Услуги»
  2. Выделите название службы
  3. Щелкните правой кнопкой мыши Свойства (или дважды щелкните)
  4. Изменить тип запуска: на отключенный
  5. Применять
  6. Нажмите «Стоп»

Я не хочу удалять службу Windows, а просто отключить ее.

Кевин Дридгер
источник
1
services.msc, введите название услуги, нажмите правую кнопку мыши, нажмите клавишу, чтобы выбрать стоп, нажмите Enter.
Тамара Вийсман
5
Не дубликат, так как OP намеревается остановить и отключить автоматический запуск
Alfabravo
1
@TomWijsman обычно означает отсутствие мыши при указании «командной строки», поэтому навигация по GUI с клавиатуры не отвечает на мой вопрос
Кевин Дридгер
1
@KevinDriedger: Я предлагаю способ сократить шаги, занимает меньше ключей, чем ответы.
Тамара Вийсман

Ответы:

94
sc config "Name of Service" start= disabled
sc stop "Name of Service"

Пространство после того , как « start=» важно

Вы можете увидеть название сервиса, дважды щелкнув по сервису на экране Сервисов:

наименование услуги

Кевин Дридгер
источник
12

В дополнение к ответу Кевина, если вам нужно управлять более чем одной службой или выбрать их на основе некоторых критериев, вы можете использовать wmic. Простое использование для остановки только 1 службы (в моем примере это Sqlwriter):
wmic service where name='SQLWriter' call ChangeStartmode Disabled

но инструмент гораздо более мощный, например, для установки отключенного режима для всех служб с заголовком, начинающимся с SQL и еще не отключенным, можно сказать:

wmic service where "caption like 'SQL%' and  Startmode<>'Disabled'" call ChangeStartmode Disabled
WMZ
источник
11

SC STOP "<nameservice>"

SC CONFIG "<nameservice>" START=( BOOT, или SYSTEM, или AUTO, или DEMAND, или DISABLED, или DELAYED-AUTO)

Ссылка: Sc config

Марк
источник
4
Чем это отличается от ответа, получившего наибольшее количество голосов пять лет назад?
Greenonline
4
@Greenonline: на самом деле это отличается, Марк предоставил полный список аргументов плюс ссылку на страницу справки. Не голосуйте за полезные вещи.
SoLaR
-2

Цитирование из KB248660 :

Программа Reg.exe из Microsoft Windows NT Resource Kit должна быть установлена ​​на вашем компьютере.

Чтобы изменить значение запуска службы на локальном компьютере с помощью командной строки, введите в командной строке следующую команду и нажмите клавишу ВВОД: REG UPDATE HKLM \ SYSTEM \ CurrentControlSet \ Services \ servicename \ Start = X, где servicename - имя службы в том виде, в каком она отображается в реестре, а X - это 2, 3 или 4 (обозначают автоматический запуск, ручной запуск или отключены соответственно).

Чтобы изменить значение запуска для службы на удаленном компьютере, используя локальную командную строку, введите в командной строке следующую команду и нажмите клавишу ВВОД: REG UPDATE HKLM \ SYSTEM \ CurrentControlSet \ Services \ servicename \ Start = X \ servername, где servicename - имя службы в том виде, в каком оно отображается в реестре, X - это 2, 3 или 4 (обозначают автоматический запуск, ручной запуск или отключен соответственно), а имя_сервера - имя удаленного сервера.

Чтобы увидеть, как имя службы отображается в реестре, просмотрите следующий раздел реестра: HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \

darnir
источник
1
Плохая идея. Вы можете отключить службу с помощью утилиты REG, но диспетчер служб не обновляется. Служба по-прежнему может запускаться диспетчером служб, пока диспетчер служб не обновит внутренний список - в этот момент это проверено, и служба все еще запускается с флагом отключенного == Запущено (отключено).
SoLaR