В Windows доступно несколько команд, которые позволяют выключить или перезагрузить локальный или удаленный компьютер. В этой статье мы рассмотрим, как использовать команду shutdown и PowerShell командлеты Restart-Computer и Stop-Computer для выключения/перезагрузки Windows.
Содержание:
- Использование команды shutdown в Windows
- Перезагрузка удаленных компьютеров командой shutdown
- Перезагрузка и выключение Windows с помощью PowerShell
Использование команды 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 "комментарий"]]
Как вы видите, у команды довольно много опций, а также есть возможность выключить/ перезагрузить удаленный компьютере.
Выключение Windows командой Shutdown
Для выключения ОС Windows и компьютера необходимо использовать команду shutdown с ключом /s.
shutdown /s
Перезагрузка Windows
Чтобы перезагрузить компьютер, необходимо добавить параметр /r. После выполнения этой команды Windows корректно перезагрузится.
shutdown /r
Завершение сеанса пользователя
Чтобы завершить текущую сессию пользователя (logout), нужно выполнить команду:
shutdown /l
Эта команда аналогично выполнению команды logoff.
Перевод компьютера в режим гибернации
Для перевода компьютер в режим гибернации (в этом режиме все содержимое памяти записывается в файл hyberfil.sys на диск и компьютер переходит в спящий режим с пониженным электропотреблением), выполните команду:
shutdown /h
Перезагрузка компьютера с сообщением пользователям
Вы можете предупредить всех пользователей Windows о предстоящем выключении / перезагрузки компьютера или сервера, отправив сообщение во все активные сессии (как правило эта возможность используется на терминальных RDS серверах, за которыми одновременно работают несколько пользователей, каждый в своей собственной RDP сессии).
shutdown /r /c “Этот сервер будет перезагружен через 60 секунд.”
Отложенное выключение / перезагрузка компьютера
Можно выключить или перезагрузить компьютер с определенной задержкой (по таймеру). С помощью опции /t можно указать интервал времени (в секундах), через который ПК/сервер будет перезагружен или выключен. Тем самым вы можете предоставить пользователям дополнительное время для того, чтобы успеть сохранить открытые файлы и корректно закрыть приложения. Эту опцию удобно использовать совместно с отправкой сообщения. В этом примере мы указываем, что Windows будет выключена через 10 минут (600 секунд) и информируем пользователей сообщением.
shutdown /s /t 600 /c "Сервер будет выключен через 10 минут. Сохраните свои документы!"
Пользователю будет выдано предупреждение о запланированном выключении: Ваш сеанс будет завершен.
Если задержка очень длительная, например, 100 минут (6000 секунд), то вместо предупреждающего окна появляется всплывающее сообщение в нижнем правом углу экрана: «Ваш сеанс будет завершен. Работа Windows будет завершена через 100 мин».
Отмена выключения / перезагрузки компьютера
После запуска команды выключения или перезагрузки Windows, по умолчанию утилита shutdown ожидает 60 секунд, не выполняя никаких действия. Администратор может отменить перезагрузку или выключение устройства, если в течении этого времени успеет выполнить команду:
shutdown /a
После отмены выключения появится всплывающее сообщение в нижнем правом углу экрана: «Выход из системы отменен. Запланировано завершение работы отменено».
Перезагрузить Windows немедленно
Чтобы выключить или перезагрузить компьютер немедленно, не ожидая стандартные 60 секунд, нужно указать значение 0 для параметра /t. Например, для немедленной перезагрузки компьютера:
shutdown /r /t 0
Очень важный ключ /f. Я использую его практически всегда при выключении или перезагрузки серверов Windows. Данный атрибут обеспечивает принудительное завершение всех запущенных программ и процессов, не ожидая подтверждения от пользователя (не будем же мы ждать подтверждения закрытия программ от всех пользователей на терминальном сервере, его можно просто не дождаться).
Следующая команда выполнит перезагрузку компьютера с автоматическим запуском всех зарегистрированных приложений после перезагрузки (имеются в виду приложения, зарегистрированные в системе с использованием функции API RegisterApplicationRestart).
shutdown /g
Ярлык для перезагрузки компьютера
Для удобства пользователей вы можете создать на рабочем столе ярлыки для выключения или перезагрузки компьютера с нужными настройками. Такой ярлык может быть полезен для выполнения перезагрузки из RDP сессии, когда отсутствуют кнопки перезагрузки/завершения работы компьютера в меню Пуск.
Перезагрузка Windows в определенное время
Чтобы всегда перезагружать/выключать компьютер или сервер в определенное время, вы можете добавить команду shutdown в планировщик заданий Windows taskschd.msc.
Например, следующее задание планировщика будет ежедневно перезагружать компьютер ночью в 0:00.
Либо вы можете создать новое задание планировщика из 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
Перезагрузка удаленных компьютеров командой 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
Если для подключения к удаленному компьютеру нужно указать учетные данные пользователя, можно использовать команду:
net use \\192.168.31.10 /u:corp\username
shutdown /s /t 60 /f /m \\192.168.31.10
Если вам необходимо удаленно перезагрузить множество компьютеров, их список можно сохранить в текстовый файл и запустить удаленную перезагрузку всех компьютеров с помощью такого PowerShell скрипта:
$sh_msg = "Ваш компьютер будет автоматически перезагружен через 10 минут. Сохраните свои файлы и закройте запущенные программы"
$sh_delay = 600 # секунд
$computers = gc C:\PS\PC-list.txt
foreach ($comp in $computers)
{
Invoke-Expression "SHUTDOWN.exe /m \\$comp /r /c '$sh_msg' /t $sh_delay"
}
Графический интерфейс команды shutdown
Для тех, кому не комфортно работать в командной строке, есть графический интерфейс для команды shutdown, чтобы его вызвать, наберите:
shutdown /i
Как вы видите, в диалоге удаленного завершения работы вы можете добавить несколько компьютеров, которые нужно перезагрузить/выключить, указать текст уведомления и задать причину выключения для сохранения в журнале Windows.
Перезагрузка и выключение Windows с помощью PowerShell
В PowerShell есть две команды для выключения и перезагрузки компьютера: Restart-Computer и Stop-Computer. Обе команды позволяют выключить или перезагрузить локальный или удаленный компьютер по сети.
Для перезагрузки Windows выполните:
Restart-Computer -force
Чтобы выключить компьютер:
Stop-Computer
По умолчанию перезагрузка начнется через 5 секунд. Можно увеличить задержку перед перезагрузкой:
Restart-Computer –delay 15
У обоих командлетов есть параметр
–ComputerName
, который позволяет задать список удаленных компьютеров.
Например, чтобы удаленно выключить два сервера Windows:
Stop-Computer -ComputerName "Server01", "Server02"
Можно указать учетные данные администратора для подключения к удаленному хосту:
$Creds = Get-Credential
Restart-Computer -ComputerName $Names -Credential $Creds
Для подключения к удаленным компьютерам используется WMI и DCOM (он должны быть включен и настроен). Если WMI не настроен, при запуске команды появится ошибка:
Restart-Computer : Failed to restart the computer wks-t1122h2 with the following error message: Access is denied. Exception from HRESULT: 0x80070005 (E_ACCESSDENIED).
Если на удаленном компьютере настроен WinRM (Windows Remote Management), вы можете использовать для подключения WSman вместо WMI:
Restart-Computer -ComputerName wks-t1122h2 -Protocol WSMan
Если на удаленном компьютер есть активные сессии пользователей, при запуске Restart-Computer появится ошибка:
Restart-Computer : Failed to restart the computer wks-t1122h2 with the following error message: The system shutdown cannot be initiated because there are other users logged on to the computer.
Для принудительной перезагрузки нужно добавить параметр -Force:
Restart-Computer -ComputerName wks-t1122h2 –Force
С помощью параметра -For можно перезагрузить компьютер и дождаться, когда он будет доступен. Например, вы хотите убедиться, что удаленный компьютер успешно перезагрузится и на нем стартовала служба WinRM, позволяющая подключиться к нему через WS-Management:
Restart-Computer -ComputerName wks-t1122h2 -Wait -For WinRM
Restarting computer wks-t1122h2 Verifying that the computer has been restarted.
Можно дождаться запуска службы удаленного рабочего стола (RDP) или любой другой службы Windows:
Restart-Computer -ComputerName wks-t1122h2 -Wait -For TermService
Если нужно одновременно перезагрузить несколько хостов, можно использовать возможности параллельного запуска команд в версии PowerShell 7.x.
Например, вы можете получим список Windows Server в определенном контейнере (Organizational Unit) Active Directory с помощью командлета Get-ADComputer и перезагрузить их одновременно:
$Computers = (Get-ADComputer -Filter 'operatingsystem -like "*Windows server*" -and enabled -eq "true"' -SearchBase "OU=Servers,DC=winitpro,DC=loc").Name
$Computers | ForEach-Object -Parallel { Restart-Computer -ComputerName $_ -Force} -ThrottleLimit 3
on April 21, 2009
We can reboot a Windows computer from command line using the in-built shutdown command. Below you can find syntax of this command for various use cases. The below commands work on Windows 7, Windows 8, Windows 10 and all other server editions.
Command to reboot windows computer
shutdown /r
The above command will set a time out of 30 seconds to close the applications. After 30 seconds, windows reboot will start.
If you want to reboot Windows with your own time out value you can use the below command.
shutdown /r /t timeout_in_seconds
To shutdown a Windows computer
shutdown /s
To abort computer reboot
If you have issued a reboot command and have changed mind, you can stop Windows reboot by running the below command.
shutdown /a
When you run this, you would see a pop up window at the right bottom part of the screen(near system tray) that shows the message “The scheduled shutdown has been cancelled”.
To force reboot by closing applications without warning
shutdown /r /f
Open the shutdown GUI
shutdown /i
Add reason for the reboot of the computer
shutdown /r /c "This is the reason for the reboot of the computer"
Reboot Windows using WMIC commands:
Reboot windows using WMIC
You can run the below wmic command to reboot Windows OS.
wmic os where Primary='TRUE' reboot
Related Posts:
Reboot a remote computer
Команда shutdown в Windows является мощным инструментом для управления состоянием компьютера через командную строку. С её помощью можно выполнять выключение или перезагрузку системы, используя различные параметры. Кроме того, команда shutdown поддерживает удалённое управление, позволяя перезагружать или выключать другие компьютеры в сети.
Команда SHUTDOWN используется для перезагрузки / выключения локального и удаленного компьютера с ОС Windows через командную строку.
Системному администратору порой нужно больше возможностей для управления функциями перезагрузки и выключения компьютера, а именно:
- — перезагрузка удаленного компьютера через локальную сеть;
- — перезагрузка компьютера из удаленного RDP сеанса;
- — выключение удаленного компьютера через локальную сеть;
- — выключение компьютера из удаленного RDP сеанса;
- — перезагрузка \ выключение компьютера по расписанию.
Команда shutdown позволяет перезагружать / выключать Windows компьютер через командную строку и является очень полезной в арсенале системного администратора.
Синтаксис команды shutdown
Давайте рассмотрим, как пользоваться командой shutdown. Вот какой у неё синтаксис:
shutdown [-i | -l | -s | -r | -a] [-f] [-m \\<компьютер>] [-t xx] [-c «комментарий»] [-d up:xx:yy]
Без аргументов — Вывод справки по использованию (как и -?)
shutdown -i — Отображение графического интерфейса пользователя для удаленного завершения работы.
shutdown -l — Выход (не совместим с параметром -m)
shutdown -s — Завершение работы компьютера
shutdown -r — Перезагрузка компьютера
shutdown -a — Прекращение завершения работы системы
shutdown -m \\<компьютер> — Удаленный компьютер, на котором выполняется действие
shutdown -t xx — Таймаут завершения работы — xx сек.
shutdown -c «comment» — Комментарий (не более 127 знаков)
shutdown -f — Принудительное завершение приложений без предварительного предупреждения
shutdown -d [u][p]:xx:yy — Код причины завершения работы (u — пользовательский код, p — код запланированного завершения, xx — основной код причины (1 — 255), yy — дополнительный код причины (1 — 65535))
Практические примеры использования shutdown
Таки образом, в зависимости от задач администрирование, команда на перезагрузку \ выключение компьютера может выглядеть следующим образом:
Немедленная перезагрузка через командную строку:
shutdown -r -t 0
Немедленное выключение через командную строку:
shutdown -s -t 0
Перезагрузить удаленный компьютер с ip адресом 192.168.0.85 через 30 секунд с выводом сообщения пользователю:
shutdown –r –m \\192.168.0.85 –t 30 –c “ВАШ КОМПЬЮТЕР БУДЕТ ПЕРЕЗАГРУЖЕН ЧЕРЕЗ 30 СЕКУНД! ПРОСИМ ЗАКРЫТЬ ВСЕ ПРОГРАММЫ С СОХРАНИЕМ ИЗМЕНЕНИЙ.”
Так же стоит учесть, что при попытке перезагрузить удаленный компьютер, вы должны обладать правами администратора на удаленной машине. Если вы залогинены под учетной записью, не умеющей прав на удаленном компьютере, то запустите командную строку от имени пользователя (C:\Windows\System32\cmd.exe \ ПКМ + Shift \ Запуск от имени другого пользователя), который имеет достаточно прав, и выполните команду shutdown.
IT administrators often perform remote system reboots of computers when required. Power users are often also required to reboot a computer while performing tasks on the Command Line Interface (CLI) in a Windows environment, and doing so through the Start Menu is not the most optimized way to do it.
We are here to inform you of multiple ways with various parameters that you can use to reboot your devices using the command line, for both local computers as well as remote ones.
Table of Contents
Shutdown cmdlet & switches
The command used to reboot computers is “shutdown.” A number of different switches can be concatenated with this cmdlet to perform various functions. Here is a list of the switches and their uses:
- /s – Shutdown the computer
- /r – Restart computer
- /m – Specify the remote computer name
- /t – Set the time delay in seconds
- /c – Custom message to display
Restart your local computer using Command Line
We are going to start with how you can reboot a local Windows computer using the Command prompt, and then use the same login to reboot remote computers on the same network.
Restart your computer
To simply reboot a computer, enter the following command:
shutdown /r
You will then be prompted with a message such as the following, and the system will immediately reboot.
Restart computer after time delay
You can also set a time delay before the computer reboots, using the command below. Replace TimeInSeconds with the number of seconds you want to delay it:
shutdown /r /t TimeInSeconds
The maximum time you can put it in is 60 seconds. In response to this command, you will see a message like the one below, depending upon the time delay you put in the command:
Cancel a computer restart
If you decide to cancel a system reboot that is going to occur after some time delay, you can use the command below to cancel it:
shutdown /a
Entering this command will result in a notification in the tray informing you that the action has been canceled.
Forcefully restart your computer
You can also add an additional switch to forcefully reboot the computer. This prevents any open applications or unsaved data to stop the reboot and restarting the computer whatsoever.
shutdown /r /f
Add custom message while restarting computer
You can also add a custom message to be displayed when the device is going to be rebooted. This is especially useful for IT administrators while rebooting remote computers. Use the command below to do so:
shutdown /r /c "Put custom message here"
As you may find in the image above, the message that we put in the cmdlet has been displayed in the dialog box. Also, you can use the /c switch in any cmdlet used to add a custom message. Here is an example with a time delay switch /t.
Shutdown computer
You can also use the /s switch instead of the /r switch in all of the commands above to completely shut down the computer altogether. It can be used as a standalone switch, or with the /t switch to shut it down with a time delay. Here is an example:
Restart remote computer using Command Line
Now that you know the cmdlets to reboot a local computer, rebooting a remote computer will be easy. All that is required now is to use the same cmdlets together with a few additional switches to access the remote computer and reboot it.
The switch used together with the shutdown command to specify another computer is /m.
Restart remote computer
To restart a remote computer, use the following command while replacing RemotePCName with the name of the target device.
shutdown /r /m \\RemotePCName
Ensure that the remote computer is on the same network as yours for the command to work.
Now that you know the concept, you can use any of the commands discussed in this article for a remote computer. Here is a command to reboot a remote computer after a delay of 60 seconds with a custom message:
shutdown /r /m \\RemotePCName /t 60 /c "Your computer is being restarted by your IT Admin"
Closing words
Although there are multiple ways in the GUI of Windows to reboot a computer, it does not however give the various options the command line does, such as introducing a delayed reboot.
Unlike regular Windows users, the command line is a more comfortable environment for IT professionals and administrators. Therefore, performing even the little tasks, like rebooting a PC, from the command line can be helpful to them.
Все способы:
- Запуск «Командной строки»
- Стандартная команда перезагрузки
- Перезагрузка с таймером
- Игнорирование предупреждений при закрытии приложений
- Перезагрузка с сообщением
- Запуск графического интерфейса
- Просмотр полной информации
- Отмена действия
- Вопросы и ответы: 0
Запуск «Командной строки»
Начать следует именно с открытия консоли. Для этого используйте один из удобных способов, например, отыскав приложение в «Пуск» или вызвав его через утилиту «Выполнить». Развернутые инструкции по каждому методу запуска вы найдете в отдельном руководстве на нашем сайте по ссылке ниже.
Подробнее: Открытие «Командной строки» в Windows 10
Стандартная команда перезагрузки
Далее мы опишем несколько различных опций, влияющих на перезагрузку компьютера через «Командную строку», однако в первую очередь упомянем стандартную команду shutdown /r
. Она отвечает за отправку ПК на перезагрузку и активируется спустя 30 секунд после ввода. Во время этого можете закрыть консоль и, например, переключиться к любой другой программе, а перезагрузка начнется без отображения на экране каких-либо уведомлений.
Перезагрузка с таймером
Не каждому юзеру, использующему консоль для перезапуска операционной системы, хочется ждать полминуты, пока этот процесс запустится автоматически. Поэтому можно задействовать команду вида shutdown /r /t 0
, где вместо 0 напишите любое число в секундах, указав время, через которое она должна выполниться.
Игнорирование предупреждений при закрытии приложений
Во время ввода команды для перезагрузки на экране могут появляться уведомления от работающих приложений о том, что их сначала нужно закрыть, чтобы сохранить прогресс. Если вы желаете игнорировать эти предупреждения, используйте строку shutdown /r /f
, а также дополнительно указывайте другие опции, например, задав таймер через /t
.
Однако при этом учитывайте, что весь софт будет закрыт экстренно без сохранения всех изменений, которые там были произведены. Добавляйте эту опцию только с полной уверенностью в том, что не потеряете важную информацию.
Перезагрузка с сообщением
Отправить ПК на перезагрузку можно, отобразив предварительно на экране уведомление, которое бы говорило о том, по какой причине производится эта операция. Особенно актуальной такая опция станет в тех ситуациях, когда процесс осуществляется удаленно на ПК другого пользователя. Тогда строка для ввода будет выглядеть так: shutdown /r /c "Введите ваше сообщение"
.
Сразу же после ввода, если установлен таймер на определенное количество времени, на экране всплывет сообщение с введенным текстом. Его пример вы видите на следующем скриншоте.
Запуск графического интерфейса
Теперь предлагаем ознакомиться с дополнительной информацией, которая может пригодиться при выполнении поставленной задачи. У используемой утилиты есть графический интерфейс, позволяющий в более удобном виде управлять перезагрузкой. Запускается он вводом shutdown /i
.
Графический интерфейс называется «Диалог удаленного завершения работы». Соответственно, он позволяет перезагрузить любой компьютер, попадающий под контроль вашего домена. Здесь вы задаете целевое действие, выбираете ПК, причину, таймер и примечание.
Все то же самое, что и путем ввода стандартных команд, но более в удобном виде, а также с отображением имен добавленных устройств.
Просмотр полной информации
Выше были приведены далеко не все опции, которые применяются для перезагрузки компьютера через рассматриваемую утилиту. Дополнительно следует уточнить о наличии различных предупреждающих ошибок. Со всем этим вы можете ознакомиться самостоятельно, написав shutdown /?
.
После нажатия по клавише Enter на экране сразу же появится список доступных опций, а также синтаксис команды, чтобы не возникло путаницы с последовательностью ввода, особенно, когда речь идет о выборе другого компьютера.
Отмена действия
В завершение отметим, что иногда пользователь после ввода команды для перезагрузки решает отменить это действие. Сделать это нужно тоже через консоль, написав shutdown /a
.
После активации отобразится новая строка для ввода, а это значит, что действие было отменено успешно.
Если речь идет об удаленном компьютере и перезагрузить его через «Командную строку» попросту не получается, советуем ознакомиться со специальной тематической инструкцией на нашем сайте по ссылке ниже. Там вы узнаете о двух других методах выполнения поставленной задачи.
Подробнее: Выполняем перезагрузку удаленного компьютера
Наша группа в TelegramПолезные советы и помощь