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 по расписанию. Это простая и удобная функция, которая позволяет автоматизировать обновление и поддержку вашего сервера.
Содержание
- Подготовка к перезапуску службы
- Определение службы, которую необходимо перезапустить
- Создание расписания перезапуска
- Открытие панели управления службами
- Настройка времени и частоты перезапуска
- Выбор периода времени
- Установка параметров перезапуска службы
Подготовка к перезапуску службы
Перед тем как перезапустить службу на Windows Server, необходимо выполнить ряд предварительных действий:
- Убедитесь, что у вас есть права администратора на сервере.
- Определите, какую службу нужно перезапустить, и запишите ее название.
- Ознакомьтесь с документацией по этой службе, чтобы быть уверенным, что перезапуск не приведет к потере данных или нарушению работы других систем или сервисов.
- Проверьте, есть ли запланированные задачи или процессы, которые могут быть зависимы от работы данной службы. Если такие задачи есть, убедитесь, что они не будут прерваны или повреждены в процессе перезапуска службы.
- Создайте резервную копию системы или важных данных, чтобы в случае непредвиденных ошибок или проблем можно было восстановить работу службы и предотвратить потерю данных.
- Проверьте логи событий и журналы ошибок, чтобы исключить наличие каких-либо предупреждений, ошибок или проблем, связанных с работой службы.
Определение службы, которую необходимо перезапустить
Перед тем как настроить перезапуск службы по расписанию, необходимо определить, какую именно службу вы хотите перезапустить.
Для этого можно воспользоваться следующими шагами:
- Откройте Управление компьютером. Нажмите правой кнопкой мыши на значок «Мой компьютер» на рабочем столе или в меню «Пуск» и выберите пункт «Управление».
- Перейдите в раздел «Службы и приложения». В окне Управление компьютером найдите раздел «Службы и приложения» и щелкните на нем.
- Выберите пункт «Службы». В разделе «Службы и приложения» найдите пункт «Службы» и щелкните на нем.
- Найдите нужную службу. В списке служб найдите ту, которую вы хотите перезапустить. Обычно службы разделены на группы, поэтому удобнее просмотреть их списком.
После того как вы определили нужную службу, вы можете переходить к настройке ее перезапуска по расписанию.
Создание расписания перезапуска
Чтобы создать расписание перезапуска службы на Windows Server, следуйте этим шагам:
- Откройте Панель управления Windows Server.
- Выберите категорию «Администрирование» и откройте «Планировщик заданий».
- В левой панели выберите «Создание базового задания».
- Введите название задания и описание, чтобы легче было его идентифицировать.
- Выберите опцию «Запускать задачу ежедневно» или любую другую опцию в зависимости от требуемого расписания.
- Укажите время, когда следует запускать задачу.
- Перейдите на вкладку «Действие» и нажмите «Создать».
- Выберите опцию «Запустить программу» и укажите путь к исполняемому файлу службы, которую требуется перезапустить.
- Настройте необходимые параметры для запуска программы.
- Нажмите «Ок» для сохранения настроек и закрытия окна.
Теперь задание будет запускаться по расписанию, перезапуская выбранную службу в указанное время. Убедитесь, что задание работает корректно, проверяя его выполнение в Планировщике заданий.
Открытие панели управления службами
Для перезапуска службы на Windows Server перейдите к панели управления службами. Это можно сделать следующим образом:
- На рабочем столе щелкните правой кнопкой мыши на пункте «Пуск».
- В контекстном меню выберите пункт «Панель управления».
- В окне «Панель управления» найдите раздел «Администрирование» и щелкните на нем.
- В открывшемся меню выберите «Службы».
После выполнения этих шагов откроется панель управления службами, в которой вы сможете управлять и изменять настройки служб на вашем сервере.
Настройка времени и частоты перезапуска
Чтобы настроить время и частоту перезапуска службы на Windows Server, следуйте этим шагам:
- Откройте диспетчер служб Windows, нажав комбинацию клавиш Win + R, введите «services.msc» и нажмите Enter.
- Найдите службу, которую необходимо перезапустить, и щелкните правой кнопкой мыши на ней.
- Выберите «Свойства» из контекстного меню.
- Перейдите на вкладку «Восстановление».
- В раскрывающемся списке «Первое действие» выберите «Перезапустить службу».
- Установите время и частоту перезапуска с помощью полей «Время ожидания до перезапуска службы» и «Через» соответственно.
- Нажмите «ОК», чтобы сохранить изменения.
Теперь служба будет перезапускаться автоматически в заданное время и с указанной частотой. Убедитесь, что на сервере выполнены все необходимые условия и требования для правильного функционирования службы. В противном случае, перезапуск может привести к некорректной работе системы.
Выбор периода времени
Перед тем как перезапустить службу на 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
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
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.
answered Oct 5, 2016 at 9:26
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
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
1
You must log in to answer this question.
Not the answer you’re looking for? Browse other questions tagged
.
Not the answer you’re looking for? Browse other questions tagged
.
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:
-
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.
- Scroll to locate your service in the list:
-
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”:
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:
-
Open the Windows Task Scheduler. You start it from the Control Panel or by running taskschd.msc from a command prompt.
-
Click Create Basic Task on the right:
The Create Basic Task Wizard window will come up.
-
Give the task a descriptive name:
Click Next to continue.
-
Select Weekly and click Next:
-
Set the day and time to restart the service:
Click Next to continue.
-
Ensure that the action is Start a program and move to the next step:
-
Enter the full path to the batch file you created to restart the service:
Click Next to continue.
-
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:
Click Finish.
-
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.
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
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:
-
Download ServicePilot from our website. Save the executable in a well-known location (e.g. C:\Apps\ServicePilot\ServicePilot.exe).
-
Edit the batch file you created to restart the service.
-
Delete the two NET lines.
-
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.
-
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!
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 is completely free and super easy to use. You can schedule your service in seconds:
Download Service Scheduler and check it out today!
You may also like…
Имеем Windows Server 2012 R2. Задача — автоматически перезагружать сервер каждый понедельник в 5 утра. Приступаем.
Запускаем Планировщик заданий, создаём в нём папку «reboot»:
Делаем Create Basic Task… Запускается мастер:
Указываем Name, Description:
Кликаем Next:
Выбираем период Weekly. Next:
Указываем начало — ближайший понедельник 5 утра. Ставим галку Monday. Next:
Выбираем Start a program. Next:
В 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 /?
Мастер не доделали, кликаем Finish. Создаётся задача — редактируем её.
Ставим Run whether user is logged on or not. Добавим галку Run with highest privileges. Ok:
Нас попросят ввести имя пользователя, от имени которого будет выполняться задание. И пароль. Готово:
Сам пока не проверял результатов. В ближайший понедельник посмотрим…
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 |
написать скрипт на перезапуск служб на сервере по субботам и воскресеньям каждые 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 |
Если вас не затруднит:
0 |
KDE777 1883 / 1106 / 427 Регистрация: 22.01.2016 Сообщений: 3,050 |
||||
04.04.2018, 12:26 |
4 |
|||
1.Покажите,пожалуйста,на скринах(Создаёте в планировщике Windows задание для выполнения powershell.exe с параметрами) Запуск PowerShell скриптов по расписанию Use the Windows Task Scheduler to Run a Windows PowerShell Script
2.Возможно ли все-таки средствами Powershell написать такой скрипт? Весь скрипт на Powershell выглядит так (перезапуск службы «Диспетчер печати»):
А вот для запуск по расписанию нужен планировщик.
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
0 |
1883 / 1106 / 427 Регистрация: 22.01.2016 Сообщений: 3,050 |
|
04.04.2018, 13:25 |
6 |
Код, который вы указали получается нужно вставить в самом планировщике во вкладку «действия» затем «создать» и тут в активную строку «программа или сценарий»? Действие это — запуск программы, имя программы powershell.exe, а код показанный в ответе #2 нужно прописать в поле «Добавить аргументы» (Add arguments)
Можете часть кода расшифровать,а именно ExecutionPolicy Bypass -NonInteractive -NoProfile -NoLogo -Command «& Это параметры для запуска powershell.exe, все они подробно описаны, если перейти по первой ссылке из моего предыдущего ответа.
0 |
0 / 0 / 0 Регистрация: 04.04.2018 Сообщений: 11 |
||
05.04.2018, 07:44 [ТС] |
7 |
|
Доброе утро! Добавлено через 45 минут В чем может быть причина? Вложения
0 |
KDE777 1883 / 1106 / 427 Регистрация: 22.01.2016 Сообщений: 3,050 |
||||
05.04.2018, 09:44 |
8 |
|||
Если у меня имеется 2 службы
или строчка с параметрами: Код -ExecutionPolicy Bypass -NonInteractive -NoProfile -NoLogo -Command "&{Stop-Service crypmail,crypoutmail; Start-Service crypmail,crypoutmail}" Добавлено через 1 минуту
В чем может быть причина? Покажите нормальный скриншот
0 |
0 / 0 / 0 Регистрация: 04.04.2018 Сообщений: 11 |
|
05.04.2018, 11:21 [ТС] |
9 |
Пожалуйста,распакуйте архив,там вордовкий файл со скринами.Напрямую с сервера не могу снять,т.к права ограничены
0 |
KDE777 |
05.04.2018, 11:54
|
Не по теме:
Пожалуйста,распакуйте архив,там вордовкий файл со скринами. Спасибо, но в таком виде пусть смотрит кто-нибудь другой
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 |
Вот скрины Ещё раз прочитайте мой ответ:
Действие это — запуск программы, имя программы 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 Модератор 7457 / 4006 / 502 Регистрация: 13.03.2013 Сообщений: 14,704 Записей в блоге: 12 |
||||
03.05.2018, 08:27 |
14 |
|||
Здравствуйте! Если есть профессионалы PowerShell помогите написать скрипт на перезапуск служб на сервере по субботам и воскресеньям каждые 15 мин. Есть алтернативное решение, например, написать батник
Далее, создать задание в планировщике с требуемыми триггерами (выходные, каждые 15 мин.) и указать путь к данному скрипту.
0 |
1883 / 1106 / 427 Регистрация: 22.01.2016 Сообщений: 3,050 |
|
03.05.2018, 12:20 |
15 |
создать задание в планировщике с требуемыми триггерами (выходные, каждые 15 мин.) и указать путь к данному скрипту Именно это, и было сразу же предложено автору темы — запускать нужный скрипт из планировщика. Однако 1marcus, хочет получить реализацию функционала планировщика с помощью непосредственно скрипта
нужен сам скрипт чтобы отрабатывал перезапуск служб по выходным
0 |