Перезагрузка (выключение) Windows по расписанию

Если нужно настроить регулярную (по определенному расписанию) перезагрузку или выключение Windows компьютера (сервера), проще всего создать задание в планировщике задач.

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

[datetime]$RestartTime = '17:00'
[datetime]$CurrentTime = Get-Date
[int]$WaitSeconds = ( $RestartTime - $CurrentTime ).TotalSeconds
shutdown -r -t $WaitSeconds

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

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

Задание планировщика для автоматической перезагрузки (выключения) Windows

Откройте консоль Task Scheduler ( taskschd.msc ) и запустите мастер создания задания: Action -> Create Basic Task.

Создать задание планировщика

Задайте имя задания: RebootMonday

Настройие расписание запуска задания. В нашем примере это еженедельное задание (Weekly), которое запускается каждый понедельник.

Расписание запуска

Выберите Start a program. Будем запускать встроенную команду shutdown.exe для перезагрузки с параметрами:

Program: %SYSTEMROOT%\System32\shutdown.exe

Add arguments (optional): /r /f /t 120 /d p:0:0 /c "Автоперезагрузка по понедельникам. Для отмены: shutdown.exe /a"

Команда перезагрузки shutdown.exe компьютера в планировщике

  • /r — перезагрузка
  • /f – принудительно завершить все приложения
  • /t 120 – таймаут перед перезагрузкой
  • /d p:0:0 — добавить в Event Viewer плановую причину перезагрузки: Other (planned)
  • – вывести информационное сообщение пользователям компьютера перед перезарузкой

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

  1. Откройте свойства задания в консоли Task Scheduler
  2. Выберите опцию Run whether user is logged or not
  3. Нажмите кнопку Change User or Group и укажите System запуск задания планировщика от имени SYSTEM
  4. Теперь задание будет запускаться от имени NT AUTHORITY\SYSTEM.
  5. Проверьте, что задание включено. Задание включено

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

Предупреждение перед автоматической перезагрузкой Windows

Если нужно принудительно будить компьютер для перезагрузки, нужно в свойствах задания на вкладке Actions включить опцию Wake the computer to run this task. Разбудить компьютер для перезагрузки

Или можно удаленно разбудить Windows компьютер через Wake on LAN.

С помощью PowerShell можно быстро создать такое задание планировщика с командой перезагрузки:

$taskName = "WeeklyAutoReboot"
$taskDescription = "Automatically reboots the server every Monday at 04:00 AM"
$action = New-ScheduledTaskAction -Execute "shutdown.exe" -Argument "/r /f /t 120 /d p:0:0 /c `"Автоперезагрузка по понедельникам. Для отмены: shutdown.exe /a`""
$trigger = New-ScheduledTaskTrigger -Weekly -DaysOfWeek Monday -At 4:00am
$principal = New-ScheduledTaskPrincipal -UserId "SYSTEM" -RunLevel Highest
Register-ScheduledTask -TaskName $taskName -Action $action -Trigger $trigger -Principal $principal

Перезагрузка (выключение) Windows компьютеров с помощью групповых политик

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

  1. Откройте консоль управления доменными GPO ( gpmc.msc ), создайте новую GPO и назначьте ее на OU с компьютерами, которые нужно перезагружать/выключать по расписанию. Назначить GPO для перезагрузки (выключения) компьютеров по расписанию
  2. Отредактируйте новую GPO и перейдите в раздел Computer Configuration -> Preferences -> Control Panel Settings -> Scheduled Tasks;
  3. Создайте новое задание: New -> Scheduled task (At least Windows 7);
  4. Задайте имя задания и запуск от имени SYSTEM (как описано выше) Создать задание планировщика в GPO
  5. На вкладке Triggers добавьте расписание для задания расписание запуска задания
  6. На вкладке Actions добавьте запуск команды shutdown.exe с параметрами команда отложенной перезагрузки
  7. Сохраните задание
  8. Обновите настройки GPO на клиенте, и проверьте что в планировщике задания появилось задание запланированной перезагрузки Windows. Задание перезагрузки через GPO создана на клиенте
Если нужно исключить критичные компьютеры из политики перезагрузки, нужно добавить их в исключения GPO через Security Filters.

Если нужно привязать задание автоматической перезагрузки/выключения компьютера к завершению другого задания (например, перезагрузиться после успешного окончания бэкапа), см. пример реализации в статье Как запустить задание планировщика Windows после завершения другого задания?

 


Предыдущая статья Следующая статья


Комментариев: 0 Оставить комментарий

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Я не робот( Обязательно отметьте)