Удалённая перезагрузка и выключение Windows Server
Удалённо перезагрузить Windows Server проще всего командой shutdown /r /t 0 в консоли RDP или Restart-Computer -Force в PowerShell. Для выключения — shutdown /s или Stop-Computer. Можно также перезагрузить другой сервер по сети, указав его имя. Ниже — все команды с параметрами и защитой от случайного отключения.
Способ 1. Команда shutdown
Классическая утилита shutdown работает в cmd и PowerShell. Основные ключи:
| Ключ | Действие |
|---|---|
/r |
Перезагрузка |
/s |
Выключение |
/t <сек> |
Задержка в секундах |
/f |
Принудительно закрыть приложения |
/a |
Отменить запланированное отключение |
/m \\хост |
Выполнить на удалённом компьютере |
Немедленная перезагрузка текущего сервера:
shutdown /r /t 0
Перезагрузка через 60 секунд с уведомлением пользователям:
shutdown /r /t 60 /c "Плановая перезагрузка сервера через минуту"
Выключение сервера:
shutdown /s /t 0
Способ 2. PowerShell
Более современный и удобный для скриптов вариант. Перезагрузка:
Restart-Computer -Force
Выключение:
Stop-Computer -Force
Флаг -Force закрывает приложения, которые мешают завершению работы.
Отмена запланированного отключения
Если вы задали задержку (/t) и передумали, отмените её, пока таймер не сработал:
shutdown /a
Перезагрузка другого сервера по сети
Из PowerShell можно перезагрузить удалённую машину, указав её имя или IP и учётные данные:
Restart-Computer -ComputerName "SRV02" -Credential (Get-Credential) -Force
Через классический shutdown то же по сети:
shutdown /r /m \\SRV02 /t 0 /f
Для работы удалённого варианта на целевом сервере должны быть включены WinRM (для PowerShell) или служба удалённого реестра и открыты соответствующие порты в брандмауэре.
Безопасная перезагрузка: предупредите пользователей
Если на сервере работают люди, дайте им время сохранить данные — задайте задержку и сообщение:
$comment = "Сервер перезагрузится через 5 минут. Сохраните работу."
shutdown /r /t 300 /c $comment
Проверить, кто сейчас в системе, перед перезагрузкой:
query session
Частые вопросы
В чём разница между shutdown /r и Restart-Computer?
Обе перезагружают сервер. shutdown — универсальная утилита с точным контролем задержки и сообщений, Restart-Computer удобнее в PowerShell-скриптах и для перезагрузки нескольких машин сразу.
Как отменить перезагрузку, если ошибся с командой?
Пока не истёк таймер /t, выполните shutdown /a — это отменит запланированное отключение. При /t 0 отменить уже не получится.
Потеряю ли я RDP-доступ после перезагрузки?
Нет, при корректной настройке RDP запускается автоматически при старте системы. Просто подождите минуту-две и переподключитесь тем же mstsc/клиентом.
Почему удалённая перезагрузка другого сервера не проходит?
Обычно не включён WinRM (для Restart-Computer -ComputerName) или закрыты порты в брандмауэре целевой машины. Проверьте Enable-PSRemoting на удалённом сервере и правила firewall.
Нужен сервер с полным контролем над перезагрузкой и KVM-консолью на случай сбоя? Возьмите VPS на Windows или посмотрите тарифы на аренду VPS.
