Простой способ запланировать регулярные перезагрузки или выключения компьютера с Windows
Самый простой способ настроить регулярные перезагрузки или выключения Windows-компьютера (или сервера) – создать задачу в Планировщике заданий (Task Scheduler).
- Создание задачи автоматической перезагрузки (выключения) в Планировщике заданий Windows
- Использование групповой политики (GPO) для планирования автоматического выключения или перезагрузки Windows
С помощью PowerShell-скрипта можно создать задачу с задержкой для перезагрузки компьютера в заданное время.
[datetime]$RestartTime="15:10"
[datetime]$CurrentTime = Get-Date
[int]$WaitSeconds = ( $RestartTime - $CurrentTime ).TotalSeconds
shutdown -r -t $WaitSeconds
Чаще всего задачи перезагрузки создаются регулярно, а не однократно. Например, нужно настроить автоматическую еженедельную перезагрузку Windows хоста каждый понедельник в 3:00 утра.
Создание задачи автоматической перезагрузки (выключения) в Планировщике заданий Windows
Откройте консоль Планировщика заданий (taskschd.msc
) и запустите мастер создания задачи: Действие → Создать простую задачу.
Задайте имя задачи, например: RebootMonday.
Настройте расписание задачи. В нашем примере это еженедельная задача, которая запускается каждый понедельник.
Выберите Запустить программу. Для перезагрузки хоста используйте встроенную команду shutdown.exe со следующими параметрами:
Программа: %SYSTEMROOT%\System32\shutdown.exe
Добавить аргументы (опционально): /r /f /t 120 /d p:0:0 /c "Автоматическая перезагрузка по понедельникам. Для отмены запустите: shutdown.exe /a"
/r
— перезагрузка/f
— принудительное закрытие всех работающих приложений/t 120
— таймаут в 120 секунд до перезагрузки системы/d p:0:0
— добавление причины перезагрузки в Просмотр событий (Event Viewer): Другое (запланировано)/c
— вывод информационного сообщения в активных пользовательских сессиях перед перезагрузкой
Чтобы задача выполнялась автоматически независимо от наличия активных пользовательских сессий на компьютере:
- Откройте свойства задачи в консоли Планировщик заданий.
- Выберите опцию Выполнять независимо от входа пользователя в систему.
- Нажмите кнопку Изменить пользователя или группу и введите
SYSTEM
. - Теперь задача будет выполняться от имени NT AUTHORITY\SYSTEM.
- Убедитесь, что задача включена.
Теперь этот компьютер автоматически будет перезагружаться по расписанию с отображением уведомления до перезагрузки.
Чтобы принудительно вывести компьютер из состояния сна и выполнить перезагрузку, в свойствах задачи на вкладке Действия (Actions) включите опцию Пробуждать компьютер для выполнения задачи.
Также можно использовать Wake-on-LAN для удаленного пробуждения Windows-устройства.
Этот PowerShell-скрипт позволит быстро создать запланированную задачу с командой перезагрузки:
$taskName = "WeeklyAutoReboot"
$taskDescription = "Автоматическая перезагрузка сервера каждый понедельник в 04:00"
$action = New-ScheduledTaskAction -Execute "shutdown.exe" -Argument "/r /f /t 120 /d p:0:0 /c `"Auto-reboot on Mondays. To cancel, run: 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
Использование групповой политики (GPO) для планирования автоматического выключения или перезагрузки Windows
Если необходимо настроить задачу автоматического выключения или перезагрузки на множестве компьютеров в домене Active Directory, можно создать запланированную задачу через групповую политику.
- Откройте консоль управления групповыми политиками (
gpmc.msc
) и создайте новый объект групповой политики (GPO). Свяжите его с организационной единицей (OU), в которой находятся компьютеры, требующие регулярной перезагрузки или выключения. - Отредактируйте созданный GPO и перейдите по пути: Конфигурация компьютера → Настройки → Панель управления → Запланированные задачи.
- Создайте новую задачу: Создать → Запланированная задача (минимум Windows 7).
- Задайте имя задачи и настройте её запуск от имени учетной записи SYSTEM.
- Настройте расписание задачи на вкладке Триггеры.
- На вкладке Действия добавьте команду shutdown.exe с описанными параметрами.
- Сохраните изменения.
- Обновите настройки GPO на клиентских компьютерах и проверьте появление запланированной задачи перезагрузки в Планировщике заданий.
Чтобы исключить важные компьютеры из политики перезагрузки, добавьте их в исключения GPO через Security Filters.
Если нужно привязать автоматическую задачу перезагрузки/выключения к выполнению другой задачи (например, хотим перезагружать хост после успешного завершения резервного копирования), смотрите пример в статье «Как запустить запланированную задачу после завершения другой задачи».