Автоматический перезапуск служб windows server

Windows Server – мощная операционная система, широко применяемая в корпоративных сетях. Она предоставляет широкий набор функций и возможностей, включая возможность запуска служб, которые поддерживают работу сервера.

Иногда требуется перезапустить службу на Windows Server для обновления или применения изменений. И вместо того, чтобы делать это вручную каждый раз, можно настроить автоматический перезапуск службы по расписанию.

Для этого необходимо использовать программу Task Scheduler, встроенную в операционную систему. Ниже приведена пошаговая инструкция, как настроить перезапуск службы на Windows Server по расписанию.

Шаг 1: Откройте Task Scheduler. Для этого перейдите в пусковое меню, найдите иконку Task Scheduler и кликните на нее.

Шаг 2: В Task Scheduler откройте папку «Task Scheduler Library», кликнув на нее в левой колонке. Затем выберите «Create Task» в правой колонке.

Шаг 3: В окне «Create Task» заполните поле «Name» с описанием задачи.

Шаг 4: Перейдите на вкладку «Triggers» и кликните «New». В появившемся окне укажите расписание, когда должны выполняться перезапуски службы.

Шаг 5: Перейдите на вкладку «Actions» и кликните «New». В появившемся окне укажите путь к программе, которая выполняет перезапуск службы, и необходимые аргументы.

Шаг 6: Настройте остальные параметры по вашему усмотрению во вкладках «Conditions» и «Settings».

Шаг 7: После завершения настроек кликните «OK», чтобы создать задачу. Теперь служба будет перезапускаться автоматически по заданному расписанию.

Теперь вы знаете, как перезапустить службу на Windows Server по расписанию. Это простая и удобная функция, которая позволяет автоматизировать обновление и поддержку вашего сервера.

Содержание

  1. Подготовка к перезапуску службы
  2. Определение службы, которую необходимо перезапустить
  3. Создание расписания перезапуска
  4. Открытие панели управления службами
  5. Настройка времени и частоты перезапуска
  6. Выбор периода времени
  7. Установка параметров перезапуска службы

Подготовка к перезапуску службы

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

  • Убедитесь, что у вас есть права администратора на сервере.
  • Определите, какую службу нужно перезапустить, и запишите ее название.
  • Ознакомьтесь с документацией по этой службе, чтобы быть уверенным, что перезапуск не приведет к потере данных или нарушению работы других систем или сервисов.
  • Проверьте, есть ли запланированные задачи или процессы, которые могут быть зависимы от работы данной службы. Если такие задачи есть, убедитесь, что они не будут прерваны или повреждены в процессе перезапуска службы.
  • Создайте резервную копию системы или важных данных, чтобы в случае непредвиденных ошибок или проблем можно было восстановить работу службы и предотвратить потерю данных.
  • Проверьте логи событий и журналы ошибок, чтобы исключить наличие каких-либо предупреждений, ошибок или проблем, связанных с работой службы.

Определение службы, которую необходимо перезапустить

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

Для этого можно воспользоваться следующими шагами:

  1. Откройте Управление компьютером. Нажмите правой кнопкой мыши на значок «Мой компьютер» на рабочем столе или в меню «Пуск» и выберите пункт «Управление».
  2. Перейдите в раздел «Службы и приложения». В окне Управление компьютером найдите раздел «Службы и приложения» и щелкните на нем.
  3. Выберите пункт «Службы». В разделе «Службы и приложения» найдите пункт «Службы» и щелкните на нем.
  4. Найдите нужную службу. В списке служб найдите ту, которую вы хотите перезапустить. Обычно службы разделены на группы, поэтому удобнее просмотреть их списком.

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

Создание расписания перезапуска

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

  1. Откройте Панель управления Windows Server.
  2. Выберите категорию «Администрирование» и откройте «Планировщик заданий».
  3. В левой панели выберите «Создание базового задания».
  4. Введите название задания и описание, чтобы легче было его идентифицировать.
  5. Выберите опцию «Запускать задачу ежедневно» или любую другую опцию в зависимости от требуемого расписания.
  6. Укажите время, когда следует запускать задачу.
  7. Перейдите на вкладку «Действие» и нажмите «Создать».
  8. Выберите опцию «Запустить программу» и укажите путь к исполняемому файлу службы, которую требуется перезапустить.
  9. Настройте необходимые параметры для запуска программы.
  10. Нажмите «Ок» для сохранения настроек и закрытия окна.

Теперь задание будет запускаться по расписанию, перезапуская выбранную службу в указанное время. Убедитесь, что задание работает корректно, проверяя его выполнение в Планировщике заданий.

Открытие панели управления службами

Для перезапуска службы на Windows Server перейдите к панели управления службами. Это можно сделать следующим образом:

  • На рабочем столе щелкните правой кнопкой мыши на пункте «Пуск».
  • В контекстном меню выберите пункт «Панель управления».
  • В окне «Панель управления» найдите раздел «Администрирование» и щелкните на нем.
  • В открывшемся меню выберите «Службы».

После выполнения этих шагов откроется панель управления службами, в которой вы сможете управлять и изменять настройки служб на вашем сервере.

Настройка времени и частоты перезапуска

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

  1. Откройте диспетчер служб Windows, нажав комбинацию клавиш Win + R, введите «services.msc» и нажмите Enter.
  2. Найдите службу, которую необходимо перезапустить, и щелкните правой кнопкой мыши на ней.
  3. Выберите «Свойства» из контекстного меню.
  4. Перейдите на вкладку «Восстановление».
  5. В раскрывающемся списке «Первое действие» выберите «Перезапустить службу».
  6. Установите время и частоту перезапуска с помощью полей «Время ожидания до перезапуска службы» и «Через» соответственно.
  7. Нажмите «ОК», чтобы сохранить изменения.

Теперь служба будет перезапускаться автоматически в заданное время и с указанной частотой. Убедитесь, что на сервере выполнены все необходимые условия и требования для правильного функционирования службы. В противном случае, перезапуск может привести к некорректной работе системы.

Выбор периода времени

Перед тем как перезапустить службу на Windows Server по расписанию, вам необходимо выбрать период времени, когда перезапуск будет наиболее удобным для вашей организации или сервера. Рекомендуется выбрать время, когда активность пользователей или нагрузка на сервер минимальны.

Установка параметров перезапуска службы

Перед тем, как настроить расписание перезапуска службы, вам потребуется установить следующие параметры:

1. Войдите на Windows Server с учетными данными администратора.

2. Откройте меню «Пуск» и выберите «Управление компьютером».

3. В окне «Управление компьютером» раскройте ветку «Службы и приложения» и выберите «Службы».

4. Найдите службу, которую хотите перезапустить по расписанию, и щелкните правой кнопкой мыши на ее названии.

5. В открывшемся контекстном меню выберите «Свойства».

6. В окне «Свойства службы» перейдите на вкладку «Восстановление».

7. Установите параметры для каждого события в разделе «Действие». Вы можете выбрать, что делать при первом, втором и последующих сбоях службы. Например, вы можете указать, чтобы служба выполняла перезапуск компьютера, если она завершилась неудачно после третьего сбоя.

8. Нажмите кнопку «OK», чтобы сохранить изменения.

9. Теперь вы можете настроить расписание перезапуска службы с помощью задач планировщика Windows.

Теперь вы готовы к настройке расписания перезапуска службы на Windows Server с помощью задач планировщика. Выполняйте действия осторожно и внимательно, чтобы избежать ошибок и непредвиденных сбоев в работе системы.

I have a pesky software service that fails every few weeks. It has two components. Service A and Service B. Service B gets in a weird state and stops accepting connections from Service A. The only way out is to restart both services manually, or reboot the server.

I would like to schedule a service restart for A and B on a regular basis. Say every 24 hours. How to go about it?

asked Feb 25, 2015 at 14:01

sebwinadmin's user avatar

2

Following the suggestions in the comments, I ended up creating a batch file containing the proper restart sequence with timeouts. Timeouts were necessary because of the dependencies between the services. I scheduled it to run as admin every night at 4AM using the task scheduler.

net stop "Service B"
net stop "Service A"
timeout /T 10
net start "Service B"
timeout /T 10
net start "Service A"

It’s not ideal, but it will do for this scenario — a remote desktop deployment with less than 10 users.

answered Feb 25, 2015 at 21:09

sebwinadmin's user avatar

sebwinadminsebwinadmin

5052 gold badges6 silver badges11 bronze badges

Instead of creating a bat file, which can become corrupt or missing, you can create a scheduled task with multiple actions. One action to stop the service, and another one to restart the service. Both executed with the NET command. Give them a STOP and START argument, followed by the service name.

NET STOP "Service A" 
NET START "Service A"

Here’s a post on StackOverflow explaining how.

Community's user avatar

answered Oct 5, 2016 at 9:26

Kurt Van den Branden's user avatar

Net Stop «ServiceName» && Net Start «ServiceName»

And you can chain together && for Stop/Start ServiceB

Net Stop «ServiceA» && Net Start «ServiceA» && Net Stop «ServiceB» && Net Start «ServiceB»

answered Oct 12, 2017 at 19:18

JLmar's user avatar

JLmarJLmar

211 bronze badge

You can make a bat file and inside the bat try something like this:

net stop {serviceName} & net start {serviceName}

and use the bat file as a program for a scheduled task.

answered May 23, 2016 at 7:59

Iman.G's user avatar

1

You must log in to answer this question.

Not the answer you’re looking for? Browse other questions tagged

.

Restart Windows Service at a Specific Time

  I want to restart some specific service for a specific time every week. Can I use the NET command?

— Shanmuga

Hi Shanmuga.

Yes. With the help of the Windows Task Scheduler, you can use the NET command to restart a specific service at a specific time.

To do so:

1. Find the name of your service

Each Windows Service has two names — a short service name and a friendly display name. We need the service name for the NET command.

If you don’t already know the service name, or want to validate it:

  1. Launch the Windows Services application. You can find it by searching for “services” in the Control Panel, or by running services.msc at a command prompt.

  2. Scroll to locate your service in the list:

    Windows Services application

  3. Double-click the entry to open the service’s properties. The service name is displayed at the top.

Here we see that the name of the Print Spooler service is actually “Spooler”:

Print Spooler service name

2. Create a batch file to restart your service

With the service name in hand, we can now use the NET command to restart the service.

Create a new batch file and enter the following two commands:

NET STOP «Your Service Name«
NET START «Your Service Name«

Please replace Your Service Name with the service name identified in step 1. The quotes are required if the service name contains a space.

For example, if your service name is “Spooler”, the batch file should look like this:

NET STOP «Spooler»
NET START «Spooler»

Save the batch file to a well-known location. We’ll use it in the next step.

Test the batch file

At this point, we recommend performing a quick test to ensure that the batch file works as expected. Run it from an administrative command prompt and confirm that it restarts your service.

3. Create a scheduled task to run the batch file at the time you wish to restart the service

Now that you are able to restart the service with the batch file, let’s schedule it to run whenever you like.

For example, here is how we would restart the Print Spooler service every Sunday at 1 AM:

  1. Open the Windows Task Scheduler. You start it from the Control Panel or by running taskschd.msc from a command prompt.

  2. Click Create Basic Task on the right:

    Task Scheduler: Create Basic Task

    The Create Basic Task Wizard window will come up.

  3. Give the task a descriptive name:

    Enter the task name

    Click Next to continue.

  4. Select Weekly and click Next:

    Set the task to run weekly

  5. Set the day and time to restart the service:

    Set the day and time to restart the service

    Click Next to continue.

  6. Ensure that the action is Start a program and move to the next step:

    Set the action - Start a program

  7. Enter the full path to the batch file you created to restart the service:

    Specify the batch file to restart the service

    Click Next to continue.

  8. Review the summary and make sure that everything looks good.

    Check the Open the Properties dialog… box at the bottom because we’ll need to adjust one of the tasks properties:

    Review the summary of the task

    Click Finish.

  9. And finally, in the Properties window, check the Run with highest privileges box. The batch file must run with administrative rights so that it can restart the service.

    Run the task with highest privileges

    Click OK to save your settings.

Going forward, the new task will come alive at the scheduled time to promptly restart the service. You should be good to go.

Improvement: Use ServicePilot instead of NET for better reliability

Use ServicePilot instead of NET.EXE

While NET.EXE will work for most situations, there are a few scenarios where it may fall short.

Does your service:

  • take longer than 30 seconds to shut down?
  • occasionally hang and refuse to stop?

If so, the NET STOP command may fail. And when that happens, the subsequent call to NET START will fail too (because the service will not be idle). The end result is that your service will be left in an unusable/unresponsive state!

Our free ServicePilot utility was built to work around NET’s shortcomings. It will wait for longer than 30 seconds if necessary and will do its best to forcibly terminate an unresponsive service.

To use ServicePilot instead of NET:

  1. Download ServicePilot from our website. Save the executable in a well-known location (e.g. C:\Apps\ServicePilot\ServicePilot.exe).

  2. Edit the batch file you created to restart the service.

  3. Delete the two NET lines.

  4. Add the following line (adjusting the full path to ServicePilot and your service name as necessary):

    C:\Apps\ServicePilot\ServicePilot.exe -restart -wait 300 «Your Service Name«

    Note: The -wait 300 parameter instructs ServicePilot to wait up to 300 seconds (5 minutes) for the service to stop and restart. Feel free to increase (or decrease) the timeout based your specific use case.

  5. Save the batch file.

As you did with the NET version, please perform a quick test to ensure that the updated batch file works as expected. Launch it from an administrative command prompt and confirm that it restarts your service.

Best of luck with your service!


New! UPDATE: Use our free Service Scheduler utility instead of the Task Scheduler

We got tired of manually creating batch files and scheduled tasks to control our services so we created a free application to do it all. 🙂

With Service Scheduler, you can easily start, stop or restart any Windows Service — daily, weekly or monthly at a time of your choosing:

Service Scheduler

Service Scheduler is completely free and super easy to use. You can schedule your service in seconds:

Service Scheduler: Add Daily Service Task

Download Service Scheduler and check it out today!


You may also like…

Profile picture for user Олег

Windows Server

Имеем Windows Server 2012 R2. Задача — автоматически перезагружать сервер каждый понедельник в 5 утра. Приступаем.

Запускаем Планировщик заданий, создаём в нём папку «reboot»:

reboot

Делаем Create Basic Task… Запускается мастер:

reboot

Указываем Name, Description:

reboot

Кликаем Next:

reboot

Выбираем период Weekly. Next:

reboot

Указываем начало — ближайший понедельник 5 утра. Ставим галку Monday. Next:

reboot

Выбираем Start a program. Next:

reboot

В Program/script: пишем:

%SYSTEMROOT%\System32\shutdown.exe

В Add arguments (optional):

/r /f /t 90 /d p:0:0 /c "Перезапуск по понедельникам. Отмена: shutdown.exe /a"

Где:

  • /r — перезагрузка,
  • /f — принудительное закрытие всех приложений,
  • /t 90 — время ожидания до начала перезагрузки 90 сек,
  • /d p:0:0 — причины перезагрузки для журнала. В данном случае, мы указали: p — запланированная перезагрузка, 0:0 — «Other (planned)»,
  • /c  комментарий в свободной форме длинной не более 512 символов. Комментарий будет показываться юзерам 90 секунд. За это время можно отменить перезагрузку командой shutdown.exe /a.

Список параметров и причин перезагрузки можно посмотреть shutdown.exe /?

reboot

Мастер не доделали, кликаем Finish. Создаётся задача  — редактируем её.

win

Ставим Run whether user is logged on or not. Добавим галку Run with highest privileges. Ok:

reboot

Нас попросят ввести имя пользователя, от имени которого будет выполняться задание. И пароль. Готово:

win

Сам пока не проверял результатов. В ближайший понедельник посмотрим…

P.S.

Две недели прошло — шедулер нормально перезагружает сервер по понедельникам.

0 / 0 / 0

Регистрация: 04.04.2018

Сообщений: 11

1

04.04.2018, 07:02. Показов 152457. Ответов 14


Студворк — интернет-сервис помощи студентам

Здравствуйте! Если есть профессионалы PowerShell помогите написать скрипт на перезапуск служб на сервере по субботам и воскресеньям каждые 15 мин.
Спасибо



0



1883 / 1106 / 427

Регистрация: 22.01.2016

Сообщений: 3,050

04.04.2018, 12:06

2

Цитата
Сообщение от 1marcus
Посмотреть сообщение

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

Создаёте в планировщике Windows задание для выполнения powershell.exe с параметрами:

Код

-ExecutionPolicy Bypass -NonInteractive -NoProfile -NoLogo -Command "&{Stop-Service Spooler; Start-Service Spooler}"

и настраиваете нужное расписание для повторных запусков.



0



0 / 0 / 0

Регистрация: 04.04.2018

Сообщений: 11

04.04.2018, 12:19

 [ТС]

3

Если вас не затруднит:
1.Покажите,пожалуйста,на скринах(Создаёте в планировщике Windows задание для выполнения powershell.exe с параметрами)
2.Возможно ли все-таки средствами Powershell написать такой скрипт?



0



KDE777

1883 / 1106 / 427

Регистрация: 22.01.2016

Сообщений: 3,050

04.04.2018, 12:26

4

Цитата
Сообщение от 1marcus
Посмотреть сообщение

1.Покажите,пожалуйста,на скринах(Создаёте в планировщике Windows задание для выполнения powershell.exe с параметрами)

Запуск PowerShell скриптов по расписанию

Use the Windows Task Scheduler to Run a Windows PowerShell Script

Цитата
Сообщение от 1marcus
Посмотреть сообщение

2.Возможно ли все-таки средствами Powershell написать такой скрипт?

Весь скрипт на Powershell выглядит так (перезапуск службы «Диспетчер печати»):

PowerShell
1
Stop-Service Spooler; Start-Service Spooler

А вот для запуск по расписанию нужен планировщик.



0



0 / 0 / 0

Регистрация: 04.04.2018

Сообщений: 11

04.04.2018, 13:07

 [ТС]

5

Спасибо большое,буду пробывать. Вопросы появяться напишу

Добавлено через 13 минут
Код, который вы указали(Код

-ExecutionPolicy Bypass -NonInteractive -NoProfile -NoLogo -Command «&{Stop-Service Spooler; Start-Service Spooler
)
получается нужно вставить в самом планировщике во вкладку «действия» затем «создать» и тут в активную строку «программа или сценарий»?
Можете часть кода расшифровать,а именно ExecutionPolicy Bypass -NonInteractive -NoProfile -NoLogo -Command «&



0



1883 / 1106 / 427

Регистрация: 22.01.2016

Сообщений: 3,050

04.04.2018, 13:25

6

Цитата
Сообщение от 1marcus
Посмотреть сообщение

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

Действие это — запуск программы, имя программы powershell.exe, а код показанный в ответе #2 нужно прописать в поле «Добавить аргументы» (Add arguments)

Перезапуск служб на сервере по субботам и воскресеньям каждые 15 минут

Цитата
Сообщение от 1marcus
Посмотреть сообщение

Можете часть кода расшифровать,а именно ExecutionPolicy Bypass -NonInteractive -NoProfile -NoLogo -Command «&

Это параметры для запуска powershell.exe, все они подробно описаны, если перейти по первой ссылке из моего предыдущего ответа.



0



0 / 0 / 0

Регистрация: 04.04.2018

Сообщений: 11

05.04.2018, 07:44

 [ТС]

7

Доброе утро!
Спасибо, огромное, за ответы.
Если у меня имеется 2 службы то код будет выглядеть так? ExecutionPolicy Bypass -NonInteractive -NoProfile -NoLogo -Command «&{Stop-Service crypmail; Start-Service crypmail; Stop-Service crypoutmail; Start-Service crypoutmail;}»

Добавлено через 45 минут
Похоже, не работает

В чем может быть причина?

Вложения

Тип файла: rar 1.rar (243.4 Кб, 11 просмотров)



0



KDE777

1883 / 1106 / 427

Регистрация: 22.01.2016

Сообщений: 3,050

05.04.2018, 09:44

8

Цитата
Сообщение от 1marcus
Посмотреть сообщение

Если у меня имеется 2 службы

PowerShell
1
Stop-Service crypmail,crypoutmail; Start-Service crypmail,crypoutmail

или строчка с параметрами:

Код

-ExecutionPolicy Bypass -NonInteractive -NoProfile -NoLogo -Command "&{Stop-Service crypmail,crypoutmail; Start-Service crypmail,crypoutmail}"

Добавлено через 1 минуту

Цитата
Сообщение от 1marcus
Посмотреть сообщение

В чем может быть причина?
Вложения 1.rar

Покажите нормальный скриншот



0



0 / 0 / 0

Регистрация: 04.04.2018

Сообщений: 11

05.04.2018, 11:21

 [ТС]

9

Пожалуйста,распакуйте архив,там вордовкий файл со скринами.Напрямую с сервера не могу снять,т.к права ограничены



0



KDE777

05.04.2018, 11:54

Не по теме:

Цитата
Сообщение от 1marcus
Посмотреть сообщение

Пожалуйста,распакуйте архив,там вордовкий файл со скринами.

Спасибо, но в таком виде пусть смотрит кто-нибудь другой :)



0



0 / 0 / 0

Регистрация: 04.04.2018

Сообщений: 11

05.04.2018, 16:47

 [ТС]

11

KDE777
Вот скрины)

Кликните здесь для просмотра всего текста



0



1883 / 1106 / 427

Регистрация: 22.01.2016

Сообщений: 3,050

05.04.2018, 17:21

12

Цитата
Сообщение от 1marcus
Посмотреть сообщение

Вот скрины

Ещё раз прочитайте мой ответ:

Цитата
Сообщение от KDE777
Посмотреть сообщение

Действие это — запуск программы, имя программы powershell.exe, а код показанный в ответе #2 нужно прописать в поле «Добавить аргументы» (Add arguments)

Никаких файлов start.ps1 я вам создавать не предлагал и тем более писать в Powershell-скрипте параметры для запуска powershell.exe!



0



0 / 0 / 0

Регистрация: 04.04.2018

Сообщений: 11

09.04.2018, 11:47

 [ТС]

13

KDE777: Подскажите, а можно это реализовать в виде скрипта на PowerShell? Т.е. нужен сам скрипт чтобы отрабатывал перезапуск служб по выходным.



0



Maks

Модератор

Эксперт по компьютерным сетямЭксперт HardwareЭксперт Windows

7457 / 4006 / 502

Регистрация: 13.03.2013

Сообщений: 14,704

Записей в блоге: 12

03.05.2018, 08:27

14

Цитата
Сообщение от 1marcus
Посмотреть сообщение

Здравствуйте! Если есть профессионалы PowerShell помогите написать скрипт на перезапуск служб на сервере по субботам и воскресеньям каждые 15 мин.
Спасибо

Есть алтернативное решение, например, написать батник

Windows Batch file
1
2
3
@echo off
net stop имя_службы
net start имя_службы

Далее, создать задание в планировщике с требуемыми триггерами (выходные, каждые 15 мин.) и указать путь к данному скрипту.
К слову сказать, у меня так ежедневно на боевом серваке рестартятся службы SQL и 1С.



0



1883 / 1106 / 427

Регистрация: 22.01.2016

Сообщений: 3,050

03.05.2018, 12:20

15

Цитата
Сообщение от Maks
Посмотреть сообщение

создать задание в планировщике с требуемыми триггерами (выходные, каждые 15 мин.) и указать путь к данному скрипту

Именно это, и было сразу же предложено автору темы — запускать нужный скрипт из планировщика. Однако 1marcus, хочет получить реализацию функционала планировщика с помощью непосредственно скрипта

Цитата
Сообщение от 1marcus
Посмотреть сообщение

нужен сам скрипт чтобы отрабатывал перезапуск служб по выходным



0



  • Автоматический набор номера windows 10
  • Автоматический маршрут vpn windows 10
  • Автоматическое восстановление windows 10 не помогает
  • Автоматическое исправление ошибок windows 10
  • Автоматически выключается центр обновления windows