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

  • 10.10.2019

Всем привет мне уже несколько раз писали такой вопрос, как перезагрузить сервер Windows через командную строку. Сегодня я на него отвечу, рассказав о нескольких способах это сделать. Для чего это может быть использовано ну например для написания скрипта, который в нужное время перезагрузит сервер, либо для саморазвития, мотивы могут быть разными, давайте смотреть как это сделать.

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

Перезагружать через командную строку мы будем Windows Server 2008 R2, но данная инструкция подойдет как и для 2012 R2 так и для любой клиентской ОС хоть от Windows 7 до Windows 10 . В начале мы рассмотрим классическую cmd, открываем ее (Как открыть командную строку читайте тут). Для перезагрузки используется вот такая команда.

shutdown -r -t 0

T - время равное 0

У вас начнется моментально перезагрузка Windows.

Синтаксис утилиты shutdown

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

Z:\>shutdown
Использование: shutdown
xx:yy ]

/i Отображение графического интерфейса пользователя. Этот параметр должен быть первым.
/l Завершение сеанса. Этот параметр нельзя использовать с параметрами /m или /d.
/s Завершение работы компьютера.
/r Завершение работы и перезагрузка компьютера.
/g Завершение работы и перезагрузка компьютера. После перезапуска системы, запуск всех зарегистрированных приложений.
/a Отмена завершения работы системы. Этот параметр можно использовать только в период ожидания.
/p Немедленное отключение локального компьютера без предупреждения. Можно использовать с параметрами /d и /f.
/h Переключение локального компьютера в режим гибернации.

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

Microsoft уже давно несет свой сильный язык в массы, и надо вам сказать он очень функционален, но об этом позже. PowerShell, так же имеет возможность перезагрузить ваш сервер или компьютер через свою командную строку, делается это очень просто. Открываем оболочку PowerShell и вводим вот такой командлет

Restart-Computer имя компьютера

Или для нескольких

Restart-Computer "имя компьютера1", "имя компьютера2"

Довольно таки просто, есть возможно перезагружать список серверов. Уверен теперь у вас не будет проблем перезагрузить компьютер через командную строку. Существует конечно большое множество подобного рода утилит, но их нужно доставлять. Описанные два средства уже являются компонентами Windows и не требуют установки, что подразумевает моментальное их использование, да и чем меньше на сервере установлено тем лучше, более безопасно, так как любое стороннее по нужно обновлять и следить за этим.

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

Итак — как перезагрузить компьютер через командную строку?
Для перезагрузки в Windows есть специальная консольная команда shutdown .
Синтаксис команды выглядит следующим образом:

C:\Users\>shutdown -? Использование: shutdown xx:yy ] Дополнительные параметры (ключи): /? - Отображение справки. То же, что и без параметров. /i - Отображение графического интерфейса пользователя. Этот параметр должен быть первым. /l - Завершение сеанса. Этот параметр нельзя использовать с параметрами /m или /d. /s - Завершение работы компьютера. /r - Завершение работы и перезагрузка компьютера. /g - Завершение работы и перезагрузка компьютера. После перезапуска системы, запуск всех зарегистрированных приложений. /a - Отмена завершения работы системы. Этот параметр можно использовать только в период ожидания. /p - Немедленное отключение локального компьютера без предупреждения. Можно использовать с параметрами /d и /f. /h - Переключение локального компьютера в режим гибернации. Можно использовать с параметром /f. /e Указание причины непредвиденного завершения работы компьютера. /m \\компьютер - Указание конечного компьютера. /t xxx - Задание задержки в xxx секунд перед завершением работы компьютера. Допустимый диапазон: 0-315360000 (10 лет); значение по умолчанию: 30. Если период таймаута больше 0, применяется параметр /f. /c "комментарий" - Комментарий с причиной перезапуска или завершения работы. Наибольшая длина - 512 знаков. /f - Принудительное закрытие запущенных приложений без предупреждения пользователей. Параметр /f используется, если для параметра /t задано значение больше 0. /d xx:yy - Необходимо указать причину для перезагрузки или выключения. "p" - означает запланированную перезагрузку или завершение работы. "u" - означает, что причина определяется пользователем. Если не задано ни "p", ни "u", перезагрузка или завершение работы являются незапланированными. xx - является основным номером причины (целое положительное число, меньшее 256). yy - является вспомогательным номером причины (целое положительное число, меньшее 65536).

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

То же самое с принудительным завершением приложений:

То же самое с сообщением в окне:
shutdown -r -t 60 -с «Перезапуск через минуту»
Отменить отложенную перезагрузку Windows:
shutdown -a

При необходимости команды можно поместить в BAT-файл и использовать в виде скрипта!

Маститые системные администраторы во всем мире предпочитают использовать командную строку. Психологическая причина - ощущать свое превосходство над обычным пользователем, как бы это ни было банально. Но есть и реальная необходимость - командная строка дает намного большую гибкость в управлении системой.

Казалось бы, это утверждение касается только систем Linux, где управление командной строкой - самый развитый и традиционный способ. Но это стереотип. Ведь Windows на базе NT обладает практически теми же средствами администрирования, что и Unix, только команды называются немного по-другому. Например, если перезагрузка из командной строки в Linux может быть выполнена простым reboot, то в Windows надо набирать команды с параметрами.

Существует даже не один способ "попросить" систему перезагрузиться! Самый очевидный - использование утилиты shutdown.exe. Простая перезагрузка с ее помощью делается так - shutdown -r -t 0. Это значит приказать системе немедленно перезагрузиться. Многочисленные параметры, назначение которых подробнее можно узнать, запустив команду shutdown с ключом "-?", позволяют выводить пользователю табличку с предупреждением. Например, вариация команды shutdown.exe -r -t 60 -c. Профилактическая перезагрузка через 60 секунд выведет эту табличку на экран и создаст небольшую задержку в одну минуту, которая позволит пользователю сохранить документы. Следует отметить, что комментарий ограничен - можно задать не более 127 символов.

Перезагрузка из командной строки может быть запущена с ключом "-f", тогда приложения будут завершены принудительно, без предупреждения. Часто встречается ситуация, когда вы на ходу раздумываете, перезагружать ли ПК. Пока не поздно - укажите команду shutdown с ключом -a, что отменит перезагрузку.

Помимо штатной утилиты, которой может быть выполнена перезагрузка из командной строки, есть и другие способы, некоторые из них самобытны, но многие пришли именно из Unix-систем. Одна из таких команд - явно по мотивам систем Linux. Смотрите, как изощренно может быть исполнена перезагрузка Windows из командной строки: ping -n seconds 127.0.0.1>nul&wmic OS WHERE Primary="TRUE" CALL Win32Shutdown 6.

Обратите внимание, что используется значок перенаправления, еще есть упоминание nul. Естественно, вместо -n seconds надо указать то количество, через которое планируется сделать рестарт.

Одна из основ управления Windows - процесс rundll32.exe, являющийся хостовым. С его помощью подгружаются в библиотеки. У этой программы есть командный интерфейс, позволяющий оперировать с элементами графического. С его помощью также может быть выполнена перезагрузка из командной строки: undll32 user.exe,ExitWindowsExec 2.

Выше приведен самый простой способ перезагрузиться посредством rundll32, работающий на всех системах.

Можно использовать и обычный вызов диалога завершение работы: undll32 msgina,ShellShutdownDialog. Или сразу выключить ПК: RUNDLL.EXE user.exe,ExitWindows.

Есть и команды, работающие далеко не на всех системах, а только на XP до SP2. При этом используется элемент конвейера (|), что характерно для систем под управлением Unix: echo y|net stop eventlog.

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

Но и перечисленными командами дело не ограничивается. Для перезагрузки можно использовать скрипты на Visual Basic (VBS), утилиты смежных Microsoft компаний. К примеру, psshutdown из комплекса Ps Tools, являющаяся, по сути, усовершенствованным shutdown. Наберите в консоли следующую команду: psshutdown -r -f -t 30. Это позволит перезагрузить локальный или удаленный ПК в течение 30 секунд.

Удаленная перезагрузка из командной строки, скажем, с производится командой psshutdown -r comp1, где comp1 - название ПК, их можно перечислить через запятую. Было бы неплохо оповестить пользователей о перезагрузке. Для этого в psshutdown используется ключ -m. Штатная команда для перезагрузки удаленных ПК - tsshutdn.

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

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

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

shutdown xx:yy ]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

shutdown /r /t 0

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

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

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

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

shutdown /r /t 120 /m \\192.168.1.100

Если все указанные условия выполняются, но при выполнении команды 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, чтобы его вызвать, наберите:

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

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

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

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

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

$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

Если вы работаете с несколькими устройствами одновременно через удаленное администрирование, то вам следует знать несколько полезных функций и команд Windows. В данной статье вы узнаете, как перезагрузить компьютер удаленно разными способами.

Если вам нужно комплексное средство для управления компьютером, то программа TeamViewer отлично подойдет на эту роль. Скачайте и установите ее по нашей инструкции:

  1. Откройте ссылку и нажмите на кнопку «Скачать бесплатно».

  1. Откройте инсталлятор.

  1. На первом экране нажмите «Принять-завершить».

  1. После установки программа запустится автоматически. Также TeamViewer должен быть инсталлирован на втором компьютере. На ПК, к которому выполняется подключение, необходимо посмотреть ID (1) и вписать его в поле «ID партнера» на управляющем компьютере (2). После этого кликните «Подключиться к партнеру» (3).

Теперь вам станет доступен рабочий стол второго устройства. Вы сможете перезагрузить его через меню «Пуск» или Alt +F4 .

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

  1. В окне TeamViewer нажмите на «Дополнительно» и выберите «Опции».

  1. Откройте вкладку «Безопасность». Введите пароль дважды в отмеченные поля (1) и поставьте галочку возле пункта «Предоставить легкий доступ» (2). После этого кликните на «Конфигурация» (3).

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

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

Классический способ

При использовании программ TeamViewer и подобных вы получаете полный доступ к функционалу PC. Поэтому достаточно выполнить стандартную процедуру перезагрузки через меню «Пуск»:

  1. Кликните по иконке «Пуск» на панели задач или нажмите соответствующую клавишу на клавиатуре.

  1. Нажмите на иконку питания и в меню выберите пункт «Перезагрузка».

С помощью клавиатуры

В некоторых программах удаленного администрирования отключена возможность выключения или перезагрузки компьютера. Например, в приложении RDP вы не сможете выполнить эти действия, поскольку они попросту отсутствуют в меню «Пуск». Разработчики сделали это для удобства в больших сетях с несколькими пользователями. В результате такого ограничения никто из участников случайно не отключит компьютер, пока другой пользователь работает с файлами. В этом деле нам на помощь приходит клавиатура и горячие клавиши Windows:

  1. Первым делом сверните все открытые окна на удаленном устройстве или закройте их.
  2. Затем нажмите на клавиатуре комбинацию Alt +F4 , чтобы открыть окно с выбором действия. Внешний вид немного отличается в Windows 7, 8 и 10, но функционал одинаковый.

  1. В выпадающем меню выберите пункт «Перезагрузка» и нажмите «ОК». После этого осталось дождаться повторного включения ПК.

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

Перезагружаем ПК через командную строку

Перед тем, как запустить Powershell и ввести соответствующие команды, необходимо включить службу «Удаленный реестр» на обоих устройствах. В «Виндовс 10» сделать это можно следующим образом:

  1. Сначала откройте окно «Выполнить» с помощью комбинации Win +R и впишите команду «services.msc».

  1. В списке служб найдите строку «Удаленный реестр» и кликните по ней дважды ЛКМ.

  1. В поле «Тип запуска» установите параметр «Автоматически».

  1. Нажмите кнопку «Применить» и после – «Запустить».

  1. После этого закройте окно настроек и «Службы».

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

  1. На удаленном ПК необходимо открыть «Проводник» и кликнуть на «Этот компьютер».

  1. На верхней панели нажмите «Компьютер», а затем – «Свойства».

  1. Обратите внимание на поле «Имя компьютера». Запомните или скопируйте название устройства. Оно пригодится для команды в cmd.

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

  1. Запустите командую строку. Для этого в поиске введите соответствующий запрос. После этого кликните по программе ПКМ и выберите пункт «Запуск от имени администратора».

  1. Параметры и условия перезагрузки можно задать с помощью письменных команд. Чтобы их не запоминать, лучше воспользоваться графическим интерфейсом. Доступ к нему открывается с помощью команды «shutdown /i».

  1. На экране появится «Диалог удаленного завершения работы». Необходимо добавить второй ПК в список и подключиться к нему. Для этого кликните на кнопку «Добавить».

  1. Впишите имя устройства, которое вы нашли в прошлом руководстве.

  1. Выделите ПК и укажите желаемое действия. Также здесь вы можете указать причину и примечание. Для старта процедуры кликните «ОК».

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

Заключение

Работая с компьютерами удаленно, вы не будете задумываться о том, как перезагрузить устройство в экстренных случаях. Достаточно настроить хотя бы одно из подключений, описанных в статье, чтобы быстро перезапускать ПК обычным способом, горячими клавишами, через командную строку или функционал специальных программ. Перед перезагрузкой обязательно завершите работу всех важных приложений и сохраните изменения в файлах.

Видео

Посмотрите видеоролик с подробным описанием действий из данной статьи. После просмотра у вас не останется вопросов по поводу перезагрузки ПК или ноутбука.