Назад | Перейти на главную страницу

Управление службами Windows из командной строки: правильный тип запуска?

Услуги можно отключить с помощью msconfig, а затем включили позже.

Я обнаружил, что их также можно включить или отключить с помощью sc config команд, установив start вариант как disabled или один из boot,system,auto,и т.д.

Как я могу создать сценарий или использовать командную строку в программе, чтобы определить, какой тип запуска использовать при повторном включении службы?

Что вам нужно определить? Установлен ли он уже на тот тип, который вы хотите установить?

На самом деле не имеет значения, каково текущее состояние. Если вы «повторно включаете» службу, устанавливая для нее тип запуска «Автоматически», а для нее уже установлено значение «Автоматически», то никаких изменений не произойдет, поэтому вам действительно не нужно определять ее текущее состояние.

Я не думаю, что есть какой-то родной способ сделать это. Единственный способ сделать это - экспортировать состояние, когда вы его отключите, а затем повторно прочитать его из файла конфигурации, когда вы его включите. Возможно, вам повезет больше в StackOverflow с этим.

На каком O / S вы работаете? Powershell может быть лучшим выбором. Вы можете использовать Google "Get-Service" для начала.

Я понял!

После некоторого тестирования и исследования я обнаружил место в реестре, где msconfig сохраняет прошлое включенное начальное значение, а также дату отключения.

HKLM\Software\Microsoft\Shared Tools\MSConfig\services

Он состоит из подключах для каждой отключенной службы, и каждый подключ имеет следующие значения: YEAR, MONTH, DAY, HOUR, MINUTE, SECOND а также краткое имя отключенной службы, данные которой содержат одно из следующего:

  • 0 = загрузка
  • 1 = система
  • 2 = авто
  • 3 = спрос
  • 5 = Авто с задержкой

Все, что мне нужно сделать, это прочитать и написать здесь при включении и отключении служб.

К вашему сведению: 4 = отключено. Вот почему его нет в списке выше. В этом месте перечислены только те ключи, которые в настоящее время отключены. И я не думаю, что в XP есть 5.