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

Ответы:

91

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

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


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

ОПИСАНИЕ:
        SC - программа командной строки, используемая для связи с
        Диспетчер управления сервисами и сервисами.
ИСПОЛЬЗОВАНИЕ:
        sc [команда] [имя службы] ...


        Опция имеет вид "\\ ServerName"
        Дополнительную справку по командам можно получить, набрав: "sc [command]"
        Команды:
          запрос ----------- Запрашивает статус для службы, или
                          перечисляет статус по видам услуг.
          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 ------ Перечисляет сервисные зависимости.

        Следующие команды не требуют имени службы:
        Южная Каролина   
          boot ------------ (ok | bad) Указывает, должна ли последняя загрузка
                          быть сохранены как последняя известная хорошая конфигурация загрузки
          Lock ------------ Блокирует сервисную базу данных
          QueryLock ------- Запрашивает LockStatus для базы данных SCManager
ПРИМЕР:
        sc start MyService

QUERY и QUERYEX ВАРИАНТЫ:
        Если за командой запроса следует имя службы, статус
        за эту услугу возвращается. Дополнительные параметры не применяются в
        этот случай. Если за командой запроса ничего не указано или одно из
        варианты, перечисленные ниже, услуги перечислены.
    type = Тип сервисов для перечисления (драйвер, сервис, все)
             (по умолчанию = сервис)
    состояние = состояние служб для перечисления (неактивно, все)
             (по умолчанию = активный)
    bufsize = размер (в байтах) буфера перечисления
             (по умолчанию = 4096)
    ri = индексный номер возобновления, с которого начинается перечисление
             (по умолчанию = 0)
    group = Сервисная группа для перечисления
             (по умолчанию = все группы)

Синтаксические примеры
запрос sc - перечисляет статус для активных служб и драйверов
sc query eventlog - отображает статус службы журнала событий
sc queryex eventlog - отображает расширенный статус для службы eventlog
sc query type = driver - перечисляет только активные драйверы
sc query type = service - перечисляет только службы Win32
sc query state = all - перечисляет все службы и драйверы
sc query bufsize = 50 - перечисляет с 50-байтовым буфером
sc query ri = 14 - Перечисляет с индексом резюме = 14
sc queryex group = "" - перечисляет активные сервисы не в группе
sc тип запроса = взаимодействовать - перечисляет все интерактивные сервисы
sc тип запроса = группа драйверов = NDIS - перечисляет все драйверы NDIS
paradd0x
источник
5
Следующий вопрос - как правильно искать [service name].
Изи
4
Вставьте net startи в нем перечислены все запущенные службы.
paradd0x
3
@Iszi Ну, если он хочет перезапустить службу, она должна быть запущена, чтобы перезапустить. :)
paradd0x
4
@lszi: запустите sc запрос из командной строки. Посмотрите на SERVICE_NAME
jftuga
8
'restart! =' stop '&&' start '. У меня есть служба, которая перезапускается довольно быстро через апплет GUI, но очень медленно запускается через GUI и CLI. Все еще ищу CLI способ выполнить реальный перезапуск ...
Ван Джоне
16

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

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

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

powershell -command "Restart-Service MSSQLSERVER -Force"

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

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

Дмитрий Гусаров
источник
2
+1. Это лучший ответ. Остановка и запуск служб с зависимостями не удастся с другими ответами. Вы должны добавить, что для этого нужно работать как администратор.
egur
10

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

stop-Service
devlife
источник
17
PowerShell также предлагает Restart-Service (только упоминания о нем , так как OP вопрос о перезапуске служб специально)
Ƭᴇcʜιᴇ007
10

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

cmd /c "net stop "Service Name" & sc start "Service Name""
Kiki
источник
4
Вы, вероятно, хотели бы двойной амперсанд. Это заставляет его ждать, пока первая команда завершит (успешно), прежде чем продолжить со второй.
Адам Плохер
4

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

Windows key+ R, вставь, Бэм!

sc stop WTabletServicePro && sc start WTabletServicePro
Джордж
источник
2

PsService утилита от PsTools предоставляет restartкоманды для услуг, с дополнительными параметрами , чтобы запустить его на другой машине.

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

-accepteulaФлаг экономит ваше окно EULA только в случае , если это первый раз , когда вы используете эту утилиту с текущим пользователем.

cdlvcdlv
источник
-2

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

"[service name.exe] console"

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

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

sup4eli
источник
Добро пожаловать в Супер пользователя! Пожалуйста, внимательно прочитайте вопрос. Ваш ответ не отвечает на оригинальный вопрос.
DavidPostill