Перезапустіть службу Windows з командного рядка


Відповіді:


92

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

Щоб поєднати їх, просто зробіть це - net stop [service name] && net start [service name].


Існує також команда, побудована спеціально для возитися зі службами: sc

ОПИС:
        SC - програма командного рядка, яка використовується для спілкування з
        Диспетчер управління та сервісних послуг.
ВИКОРИСТАННЯ:
        sc [команда] [назва послуги] ...


        Параметр має форму "\\ ServerName"
        Подальшу допомогу щодо команд можна отримати, ввівши: "sc [команда]"
        Команди:
          запит ----------- запитує стан для послуги, або
                          перераховує статус для видів послуг.
          queryex --------- Запитує розширений стан для послуги, або
                          перераховує статус для видів послуг.
          start ----------- Запускає послугу.
          пауза ----------- Надсилає запит на управління PAUSE до служби.
          допитувати ----- Надсилає запит управління INTERROGATE до служби.
          продовжити -------- Надсилає неперервний запит на контроль до служби.
          стоп ------------ Надсилає запит STOP на сервіс.
          config ---------- Змінює конфігурацію послуги (стійко).
          Опис ----- Змінює опис послуги.
          пошкодження --------- Змінює дії, зроблені службою при відмові.
          failflag ----- Змінює прапор дій відмови служби.
          sidtype --------- Змінює тип послуги SID послуги.
          privs ----------- Змінює необхідні привілеї послуги.
          Managedaccount - змінює службу для позначення облікового запису послуги
                          пароль, яким керує LSA.
          qc -------------- Запитує інформацію про конфігурацію послуги.
          qdescription ---- Запитує опис послуги.
          qfailure -------- Запитує дії, зроблені службою при відмові.
          qfailureflag ---- Запитує прапор дій відмов служби.
          qsidtype -------- Запитує сервісний тип послуги SID.
          qprivs ---------- Запитує необхідні привілеї служби.
          qtriggerinfo ---- Запитує параметри запуску послуги.
          qpreferrednode - запитує бажаний вузол NUMA служби.
          qrunlevel ------- Запитує рівень запуску послуги.
          qmanagedaccount - запитує, чи сервіс використовує обліковий запис з a
                          пароль, керований LSA.
          qprotection ----- запитує рівень захисту процесу в сервісі.
          delete ---------- Видаляє службу (з реєстру).
          create ---------- Створює послугу. (додає його до реєстру).
          control --------- Надсилає керування службі.
          sdshow ---------- Відображає дескриптор безпеки служби.
          sdset ----------- Встановлює дескриптор безпеки служби.
          showid --------- Відображає службовий рядок SID, що відповідає довільному імені.
          Триггер info– Налаштування параметрів тригера служби.
          preferencenode --- Встановлює бажаний вузол NUMA служби.
          runlevel -------- Встановлює рівень запуску послуги.
          GetDisplayName - отримує DisplayName для послуги.
          GetKeyName ------ Отримує ServiceKeyName за послугу.
          EnumDepend ------ Перераховує залежність від обслуговування.

        Наступні команди не потребують назви служби:
        sc   
          boot ------------ (нормально | погано) Позначає, чи повинен останній завантажувач
                          буде збережено як останню відому конфігурацію завантаження
          Блокування ------------ Блокування сервісної бази даних
          QueryLock ------- Запитує LockStatus для бази даних SCManager
ПРИКЛАД:
        sc запуску MyService

ЗАПИТАННЯ та ЗАПИТАННЯ ВАРІАНТІВ:
        Якщо команді запиту дотримується ім'я служби, статус
        для цієї послуги повертається. Подальші опції не застосовуються
        цей випадок. Якщо команді запиту дотримується нічого або один із
        перелічені нижче варіанти, послуги перераховані.
    type = Тип послуг для перерахування (драйвер, сервіс, усі)
             (за замовчуванням = послуга)
    state = стан послуг для перерахування (неактивний, всі)
             (за замовчуванням = активний)
    bufsize = Розмір (у байтах) буфера перерахування
             (за замовчуванням = 4096)
    ri = Номер індексу резюме, з якого розпочнеться перерахування
             (за замовчуванням = 0)
    group = Група послуг для перерахування
             (за замовчуванням = всі групи)

ПРИКЛАДИ SYNTAX
sc-запит - перераховує статус для активних служб та драйверів
sc query eventlog - Відображення статусу служби eventlog
sc queryex eventlog - Відображає розширений статус для служби eventlog
sc query type = driver - перераховує лише активні драйвери
sc query type = service - перераховує лише послуги Win32
sc query state = all - Перераховує всі служби та драйвери
sc query bufsize = 50 - перераховується за допомогою 50-байтного буфера
sc запит ri = 14 - Перераховується з індексом резюме = 14
sc queryex group = "" - Перераховує активні служби, які не входять до групи
sc query type = interact - перераховує всі інтерактивні сервіси
sc запит типу = група драйверів = NDIS - перераховує всі драйвери NDIS

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

17
PowerShell також пропонує Restart-Service (лише згадуючи про це, оскільки ОП запитала про перезавантаження послуг конкретно)
Ƭᴇcʜιᴇ007

10

Щоб перезапустити службу Windows з командного рядка або запланованих завдань, скористайтеся цим:

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

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 тільки в разі , якщо це перший раз , коли ви використовуєте цю утиліту з поточним користувачем.


-2

Якщо ви знаєте виконавчий шлях розташування служби, який ви могли б використовувати

"[service name.exe] console"

У командному рядку.

Це фактично допоможе вам налагодити проблему, якщо служба не вдасться запустити.


Ласкаво просимо до Супер Користувача! Будь ласка, прочитайте запитання ще раз уважно. Ваша відповідь не відповідає на початкове запитання.
DavidPostill
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.