Перезапуск службы bat windows

How to restart a service via a batch file

Reading Time: < 1 minute

To restart a service via a batch file, open a blank notepad file.

type net stop “servicename”
type net start “servicename”

For example, you would stop the printer spooler service by typing:

net stop “Print Spooler”
net start “Print Spooler”

Once done, save the file with a .bat extension. Example restart.bat

Note: You may need to re enter the speech marks if you were to copy the above command into a notepad.

How useful was this post?

Click on a star to rate it!

As you found this post useful…

Follow us on social media!

3 thoughts on “How to restart a service via a batch file

  1. Ankur

    Dear Sir,

    I wanna asked a question that how can we restart a services by using .Bat files at another user of this services.

    Regards,
    Ankur K

  2. Hi Ankur

    Could you explain what you are trying to do?

  3. unlisted

    Please note the example is wrong, as it uses the wrong quotes.

    Do NOT copy-paste the example, you must use standard unicode “straight” quotes like this:

    net stop “Service”
    net start “Service”

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

cmd, Скрипт перезапуска службы

Скрипт останавливает службу «service-name».
Убивает процесс «service-name.exe», если такой есть.
Запускает службу обратно в работу.
В промежутках между командами задана пауза, чтобы дать службе/процессу время на завершение.

.bat-скрипт

REM CODEPAGE Win 866 (OEM)

REM Останавливаем службу
NET stop service-name

REM Ждём
TIMEOUT /T 120 /NOBREAK

REM Проверяем наличие процесса службы (просто для информации)
TASKLIST /FI «IMAGENAME eq service-name.exe»

REM Убиваем службу. На случай, если она зависла и не останавливается
TASKKILL /F /IM service-name.exe

REM Ждём
TIMEOUT /T 120 /NOBREAK

REM Запускаем службу обратно в работу
NET start service-name

#скрипты #windows #cmd

2019-08-20 22:04:53

Задача:

Необходимо перезапустить из командного (bat) файла какую-либо службу Windows, причем необходимо убедиться, что указанная служба действительно запустилась.

Решение:

Приведу два примера. Они по-сути одинаковые, только проверка состояния службы Windows немного отличается.

  • Вариант 1:

    Код: Выделить всё

    @Echo Off
    Net Stop Spooler
    PING -n 1 -w 10000 192.168.253.253 > nul
    :ReStartService
    Net Start Spooler
    net start | find /i "Диспетчер очереди печати">NUL
    if %errorlevel%==1 echo GoTo ReStartService
    EXIT
  • Вариант 2:

    Код: Выделить всё

    @Echo Off
    Net Stop Spooler
    PING -n 1 -w 10000 192.168.253.253 > nul
    :ReStartService
    Net Start Spooler
    SC query Spooler | find /i "1  STOPPED" > nul
    if %errorlevel%==0 echo GoTo ReStartService
    EXIT

В обоих вариантах алгоритм такой:

  1. Завершаем службу

  2. Делаем паузу 10 секунд командой PING до несуществующего хоста

  3. Запускаем службу

  4. Выполняем проверку

  5. Если служба не запущена, возвращаемся к метке «ReStartService», иначе — завершаем работу командного файла

Различие методов — в способе проверки состояния службы. В первом методе мы просматриваем весь список запущенных служб на предмет наличия в нем псевдонима нашей службы (например, у службы «Spooler» псевдоним в русскоязычной локализации Windows будет «Диспетчер очереди печати»).

Во втором методе мы ищем в тексте, выдаваемом командой «SC query» строку «1 STOPPED», которая показывает состояние службы и в данном случае означает, что служба остановлена. Более того, строка «1 STOPPED» во всех локализациях отображается одинаково, поэтому второй метод является более универсальным.

I wrote some batch files today for restarting services on windows. The bat files can be used to restart ColdFusion MX or IIS services on Windows NT/2000/XP.

Batch File to restart ColdFusion MX

@echo off
REM - File: cfmxrestart.bat
REM - Description: Restart's ColdFusion MX Services
REM - Author: Pete Freitag
echo Restarting ColdFusion MX...
echo ======================================================
net stop "ColdFusion MX Application Server"
net stop "ColdFusion MX ODBC Agent"
net stop "ColdFusion MX ODBC Server"
net start "ColdFusion MX Application Server"
net start "ColdFusion MX ODBC Agent"
net start "ColdFusion MX ODBC Server"
echo ======================================================
echo ColdFusion MX Restarted

Batch file to restart IIS

@echo off
REM - File: iisrestart.bat
REM - Description: Restart's IIS (Web, FTP, SMTP)
REM - Author: Pete Freitag
REM - ADD REM comments if you don't want to restart any
REM - of Services
echo Restarting IIS...
echo ======================================================
net stop "World Wide Web Publishing Service"
net start "World Wide Web Publishing Service"
net stop "FTP Publishing Service"
net start "FTP Publishing Service"
net stop "Simple Mail Transport Protocol (SMTP)"
net start "Simple Mail Transport Protocol (SMTP)"
echo ======================================================
echo IIS Restarted

Bat files are handy because you can restart multiple services with one command. You can either double click the bat file to run it, schedule it, or throw it in c:\windows\system32 and then run it from anywhere in the command prompt or (Start->Run)

Batch Files to Restart Services on Windows was first published on October 09, 2002.

Итак, опишем проблему с сервисом печати (print spooler)  на сервере, в крупной фирме, где есть много разномастных принтеров, подключенных в терминальном режиме.

0. Суть ошибки

Эта проблема появляется в остановке сервиса печати при работе в терминале с удаленного офиса. Ошибка происходит в терминале и принтер перестает принимать документы на печать, при чем на сервере появляется «клон» принтера, и на нем начитается выстраиваться очередь на печать, а фактически печать документов не происходит.

1. Причины ошибки

Происходит ошибка в очереди печати, или если возникла ошибка при печати на принтере, либо при отмене какого-нибудь документа, либо после небольшого разрыва связи, либо при отправке документов одновременно несколькими пользователями на печать. Тогда начинается паника в офисе, а если еще и нужно срочно распечатать какой-нибудь отчет, начинаются звонки сисадминам, с криками: «СПАСИТЕ!!!ПОМОГИТЕ!!!! НЕВОЗМОЖНО РАБОТАТЬ!!!! ДА КОГДА ЖЕ ЭТО ВСЕ ПРЕКРАТИТСЯ!!!!» —  и т. д. Вот сейчас мы и опишем, как можно исправить данную неприятность в операционных системах семейства Windows.

2. Решение

Решается данная проблема перезапуском сервера печати, т. е. службы prints pooler. (Подробно о службе prints pooler можно прочитать вот здесь). Чтоб перезапустить данную службу (как и любую другую) необходимо выполнить 2 команды:

net stop spooler
net start spooler

Если операцию приходится выполнять периодически, удобнее создать «костыль» в виде файла c расширением «.bat», проще говоря «батника».

Откроем простой блокнот (удобнее всего использовать программу NotePad++) и напишем там 2 вышеназванные строчки. Сохраним этот файл, поставив расширение .bat вместо .txt, назвав его «перезапуск службы печати» или как нибудь еще, как удобнее. При запуске этого файла будет происходить перезапуск службы печати.

print_spooler_01

На скриншоте выше добавлен оператор pause в конце что бы показать работу bat-файла.

Запись опубликована в рубрике cmd с метками cmd, Windows Server 2008. Добавьте в закладки постоянную ссылку.

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Amd radeon hd 6410d драйвер windows 10
  • Gigabyte обновление биос через windows
  • Python urllib2 install windows
  • Система архивации данных windows server на английском
  • Rdp wrapper windows 10 home