Команда Shutdown: выключение и перезагрузка Windows из командной строки

Утилита командной строки shutdown является встроенной командой Windows, которая позволяет перезагрузить, выключить компьютер, перевести его в спящий режим или завершить сеанс пользователя. В этой инструкции мы покажем основные примеры использования команды shutdown в Windows (все рассмотренные команды запускаются в окне Выполнить — Win+R ->, в командной строке cmd.exe или в консоли PowerShell).

Команда shutdown имеет следующий синтаксис:

shutdown [/i | /l | /s | /sg | /r | /g | /a | /p | /h | /e | /o] [/hybrid] [/soft] [/fw] [/f] [/m \\компьютер][/t xxx][/d [p|u]xx:yy [/c "комментарий"]]

команда shutdown синтаксис

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

Выключение Windows командой Shutdown

Для выключения ОС Windows и компьютера необходимо использовать команду shutdown с ключом /s.

shutdown /s

Перезагрузка Windows

Чтобы перезагрузить компьютер, необходимо добавить параметр /r. После выполнения этой команды Windows корректно перезагрузится.

shutdown /r

shutdown /r - перезагрузка компьютера

Завершение сеанса пользователя

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

shutdown /l

shutdown /l завершение сенаса пользоватеоя

Эта команда аналогично выполнению команды logoff.

Перевод компьютера в режим гибернации

Для перевода компьютер в режим гибернации (в этом режиме все содержимое памяти записывается в файл hyberfil.sys на диск и компьютер переходит в спящий режим с пониженным электропотреблением), выполните команду:

shutdown /h

Перезагрузка компьютера с сообщением пользователям

Вы можете предупредить всех пользователей Windows о предстоящем выключении / перезагрузки компьютера или сервера, отправив сообщение во все активные сессии (как правило эта возможность используется на терминальных RDS серверах, за которыми одновременно работают несколько пользователей, каждый в своей собственной RDP сессии).

shutdown /r /c “Этот сервер будет перезагружен через 60 секунд.”

Отложенное выключение / перезагрузка компьютера

Можно выключить или перезагрузить компьютер с определенной задержкой (по таймеру). С помощью опции /t можно указать интервал времени (в секундах), через который ПК/сервер будет перезагружен или выключен. Тем самым вы можете предоставить пользователям дополнительное время для того, чтобы успеть сохранить открытые файлы и корректно закрыть приложения. Эту опцию удобно использовать совместно с отправкой сообщения. В этом примере мы указываем, что Windows будет выключена через 10 минут (600 секунд) и информируем пользователей сообщением.

shutdown /s /t 600 /c "Сервер будет выключен через 10 минут. Сохраните свои документы!"

Пользователю будет выдано предупреждение о запланированном выключении: Ваш сеанс будет завершен.

shutdown - Ваш сеанс будет завершен.

Если задержка очень длительная, например, 100 минут (6000 секунд), то вместо предупреждающего окна появляется всплывающее сообщение в нижнем правом углу экрана: «Ваш сеанс будет завершен. Работа Windows будет завершена через 100 мин».

Работа Windows будет завершена через 100 мин

Отмена выключения / перезагрузки компьютера

После запуска команды выключения или перезагрузки Windows, по умолчанию утилита shutdown ожидает 60 секунд, не выполняя никаких действия. Администратора может отменить перезагрузку или выключение устройства, если в течении этого времени успеет выполнить команду:

shutdown /a

После отмены выключения появится всплывающее сообщение в нижнем правом углу экрана: «Выход из системы отменен. Запланировано завершение работы отменено».

shutdown /a - отмена перезагрузки Выход из системы отменен

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

Чтобы выключить или перезагрузить компьютер немедленно, не ожидая стандартные 60 секунд, нужно указать значение 0 для параметра /t. Например, для немедленной перезагрузки компьютера:

shutdown /r /t 0

Очень важный ключ /f. Я использую его практически всегда при выключении или перезагрузки серверов Windows. Данный атрибут обеспечивает принудительное завершение всех запущенных программ и процессов, не ожидая подтверждения от пользователя (не будем же мы ждать подтверждения закрытия программ от всех пользователей на терминальном сервере, его можно просто не дождаться).

Следующая команда выполнит перезагрузку компьютера с автоматическим запуском всех зарегистрированных приложений после перезагрузки (имеются в виду приложения, зарегистрированные в системе с использованием функции API RegisterApplicationRestart).

shutdown /g

Запуск команды shutdown на удаленных компьютерах

Вы можете перезагрузить удаленный компьютер по сети, для этого у вас должен быть к нему сетевой доступ, а учетная запись, из-под которой запускается команда shutdown должна входить в группу локальных администраторов на удаленном компьютере (сервере):

shutdown /r /t 120 /m \\192.168.1.100

shutdown /r //m - перезагрузка удаленного компьютера

Если все указанные условия выполняются, но при выполнении команды shutdown появляется ошибка ”Отказано в доступе (5)”, на удаленном компьютере нужно разрешить удаленный доступ к административным ресурсам (C$, ADMIN$), изменив значение параметра LocalAccountTokenFilterPolicy на 1.

reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v "LocalAccountTokenFilterPolicy" /t REG_DWORD /d 1 /f

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

$sh_msg = "Ваш компьютер будет автоматически перезагружен через 10 минут. Сохраните свои файлы и закройте запущенные программы"
$sh_delay = 600 # секунд
$computers = gc C:\PS\PC-list.txt
foreach ($comp in $computers)
{
& 'C:\Windows\System32\SHUTDOWN.exe' "-m \\$comp -r -c $sh_msg -t $sh_delay"
}

Графический интерфейс команды shutdown

Для тех, кому не комфортно работать в командной строке, есть графический интерфейс для команды shutdown, чтобы его вызвать, наберите:

shutdown /i

shutdown /i - графический интерфейс команды shutdown

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

Ярлык для перезагрузки компьютера

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

ярлык на рабочем столе для перезагрузки компьютера

Если вы хотите, чтобы ваш компьютер или сервер всегда выключался / перезагружался в определенное время, вы можете добавить команду shutdown с определенными параметрами в планировщик заданий Windows taskschd.msc.

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

задание планировщика для ежедневной перезагрузки компьютера командой shutdown

Либо вы можете создать новое задание планировщика из PowerShell:

$Trigger= New-ScheduledTaskTrigger -At 00:00am -Daily
$User= "NT AUTHORITY\SYSTEM"
$Action= New-ScheduledTaskAction -Execute "shutdown.exe" -Argument "–f –r –t 120"
Register-ScheduledTask -TaskName "RebootEvertyNight_PS" -Trigger $Trigger -User $User -Action $Action -RunLevel Highest –Force


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


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

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

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

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