Перезапустите службу Windows из командной строки

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

7 ответов

Решение

Ты можешь использовать net stop [service name] остановить это и net start [service name] чтобы запустить его снова, в основном перезапуск службы.

Чтобы объединить их, просто сделайте это - net stop [service name] && net start [service name],


Также есть команда, созданная специально для работы со службами: sc

ОПИСАНИЕ:
        SC - это программа командной строки, используемая для связи с диспетчером управления службами и службами. ИСПОЛЬЗОВАНИЕ:
        sc  [команда] [имя службы]  ... Параметр имеет форму "\\ имя_сервера". Чтобы получить дополнительную информацию о командах, введите: "sc [команда]" Команды: запрос -------- --- запрашивает статус для службы или перечисляет статус для типов служб.
          queryex--------- Запрашивает расширенный статус для сервиса или перечисляет статус для типов сервисов. начать ----------- Запускает службу. пауза ----------- Отправляет запрос управления PAUSE в службу. опросить ----- Отправляет запрос управления INTERROGATE в службу. продолжить -------- Посылает запрос управления ПРОДОЛЖЕНИЕ в службу. остановка ------------ Отправляет запрос на остановку в службу. config ---------- Изменяет конфигурацию службы (постоянная).
          description----- Изменяет описание услуги. сбой --------- Изменяет действия, предпринятые службой при сбое. failflag ----- Изменяет флаг действий по отказу службы. sidtype --------- Изменяет тип SID службы. privs ----------- Изменяет необходимые привилегии службы. managedaccount - изменяет службу, чтобы пометить пароль учетной записи службы как управляемый LSA.
          qc-------------- Запрашивает информацию о конфигурации для службы.
          qdescription---- Запрашивает описание услуги.
          qfailure-------- Запрашивает действия, предпринятые службой при сбое.
          qfailureflag---- Запрашивает флаг действий при сбое службы.
          qsidtype-------- Запрашивает тип службы SID службы.
          qprivs---------- Запрашивает необходимые привилегии службы.
          qtriggerinfo ---- Запрашивает параметры запуска службы.
          qpreferrednode - запрашивает предпочтительный узел NUMA службы.
          qrunlevel------- Запрашивает уровень выполнения службы.
          qmanagedaccount-Запрашивает, использует ли служба учетную запись с паролем, управляемым LSA.
          qprotection----- Запрашивает уровень защиты процесса службы. удалить ---------- Удаляет службу (из реестра). создать ---------- Создает сервис. (добавляет его в реестр).
          control--------- Отправляет элемент управления в службу.
          sdshow---------- Отображает дескриптор безопасности службы. sdset ----------- Устанавливает дескриптор безопасности сервиса.
          showid --------- Отображает строку SID службы, соответствующую произвольному имени. triggerinfo ----- Конфигурирует параметры триггера сервиса. Предпочтительный узел --- Устанавливает предпочтительный узел NUMA службы. Уровень запуска -------- Устанавливает уровень запуска службы.
          GetDisplayName- получает DisplayName для службы.
          GetKeyName------ Получает ServiceKeyName для службы.
          EnumDepend------ Перечисляет сервисные зависимости. Следующие команды не требуют имени службы:
        sc   
          boot------------(ok | bad) Указывает, следует ли сохранять последнюю загрузку в качестве последней-удачной конфигурации загрузки Lock------------ Блокирует базу данных службы QueryLock------- Запрашивает LockStatus для базы данных SCManager ПРИМЕР:
        sc start MyService ОПЦИИ QUERYEX и QUERYEX: если за командой запроса следует имя службы, Статус этой службы возвращается. Дополнительные параметры не применяются в этом случае. Если после команды запроса ничего не указано или один из параметров, перечисленных ниже, услуги перечисляются. type = тип служб для перечисления (драйвер, служба, все)
             (по умолчанию = служба) состояние = состояние служб для перечисления (неактивно, все)
             (по умолчанию = активно)
    bufsize= размер (в байтах) буфера перечисления (по умолчанию = 4096)
    ri= индексный номер возобновления, с которого начинается перечисление (по умолчанию = 0) группа = группа служб для перечисления (по умолчанию = все группы) СИНТАКСИЧЕСКИЕ ПРИМЕРЫ sc query                - перечисляет состояние для активных служб и драйверов. Sc query eventlog       - отображает состояние для службы журнала событий sc queryex eventlog     - Отображает расширенный статус для службы событий журнала sc тип запроса = драйвер - Перечисляет только активные драйверы SC тип запроса = служба - Перечисляет только состояние Win32 службы sc Состояние запроса = все - Перечисляет все службы и драйверы SC запрос bufsize= 50    - Перечисляет с помощью 50-байтового буфера sc запрос ri= 14         - Перечисляет с резюме index = 14
sc queryex group= ""    - Перечисляет активные службы, не входящие в группу sc Тип запроса = взаимодействовать - Перечисляет все интерактивные службы sc Тип запроса = группа драйверов = NDIS     - Перечисляет все драйверы NDIS

Обратите внимание, что если есть другие услуги, которые зависят от этой услуги - обычно net stop & net start не будет перезапускать их. net stop /y остановит все зависимости

Самый распространенный пример - SQL Server & SQL Agent.

Я рекомендую PowerShell командлет для решения этой проблемы:

powershell -command "Restart-Service MSSQLSERVER -Force"

После запуска MSSQLSERVER - командлет запускает все ранее остановленные зависимости.

PS: убедитесь, что вы запускаете команду от имени администратора

Чтобы перезапустить службу Windows из командной строки или запланированных задач, используйте это:

cmd /c "net stop "Service Name" & sc start "Service Name""

Вы также можете использовать PowerShell:

stop-Service

Чтобы решить надоедливую ошибку Wacom Intuous Driver не запускается, я получаю при каждой перезагрузке.

Клавиша Windows + R , вставь, Бэм!

sc stop WTabletServicePro && sc start WTabletServicePro

The PsService utility from PsTools provides a restart command for services, with additional parameters to run it on another machine.

psservice [-accepteula] [\\Computer [-u Username [-p Password]]] restart <service-name>

-accepteula flag saves you the EULA window just in case it's the first time you use this utility with the current user.

Если вы знаете путь к исполняемому файлу службы, вы можете использовать

"[service name.exe] console"

В командной строке.

Это на самом деле поможет вам отладить проблему, если служба не сможет запуститься.

Другие вопросы по тегам