Выключение и перезагрузка Windows из командной строки
Графический интерфейс Windows за многие годы свет на нет познание командной строки. А пользоваться ей нет-нет да приходится. В этой статье я кратко распишу как пользоваться консольной командой shutdown, чтобы выключить или перегрузить компьютер под управлением Windows. Статья актуальна для семейства Windows 7/8/8.1/10.
Для выключения, перезагрузки или гибернации с помощью командной строки используется команда shutdown. Основной список параметров:
- /? — Отображение справки. То же, что и без параметров.
- /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 [p|u:]xx:yy — Необходимо указать причину для перезагрузки или выключения. «p» означает запланированную перезагрузку или завершение работы. «u» означает, что причина определяется пользователем. Если не задано ни «p», ни «u», перезагрузка или завершение работы являются незапланированными. «xx» является основным номером причины (целое положительное число, меньшее 256). «yy» является вспомогательным номером причины (целое положительное число, меньшее 65536).
Если вас интересует полный список параметров то запустите утилиту shutdown без параметров.
Перезагрузка компьютера из командной строки Windows
Многие пользователи операционных систем Windows не в курсе, что можно запустить перезагрузку компьютера прямо из командной строки Виндовс. Этот способ удобен в случае, когда Вы подключены к удалённому компьютеру (удалённая перезагрузка), либо если Вам надо создать скрипт перезапуска и запустить его по расписанию через планировщик.
Итак — как перезагрузить компьютер через командную строку?
Для перезагрузки в Windows есть специальная консольная команда shutdown .
Синтаксис команды выглядит следующим образом:
Примеры использования:
Выключение компьютера через командную строку:
shutdown -s -t 0
перезагрузка компьютера через командную строку:
shutdown -r -t 0
То же самое с принудительным завершением приложений:
shutdown -r -f -t 0
Завершить сеанс пользователя (logoff):
shutdown -l
Перезагрузка ПК через минуту (60 секунд) — отложенный перезапуск:
shutdown -r -t 60
То же самое с сообщением в окне:
shutdown -r -t 60 -с «Перезапуск через минуту»
Отменить отложенную перезагрузку Windows:
shutdown -a
При необходимости команды можно поместить в BAT-файл и использовать в виде скрипта!
Cmd перезагрузка компьютера по сети
Несколько замечаний от любителя
1)В Вашем варианте после префикса «WinMgmts:» в моникере WMI используется такой параметр безопасности как уровень олицетворения DCOM (DCOM Impersonation Level) «WinMgmts:». Проще использовать назначенные или отозванные привилегии, например, «WinMgmts:<(Shutdown, !RemoteShutdown)>» в нашем случае «WinMgmts:»
2)Вы пытаететь работать с пространством имен по умолчанию, которое извлекается из подраздела HKEY_LOCAL_MACHINESOFTWAREMicrosoftWBEMScriptingDefault Namespace. В нашем случае таким пространством является RootCIMV2.
Тогда вот это:
set objWMIService = GetObject(«winmgmts:» & «!\.rootcimv2») можно смело сократить до вот этого:
set objWMIService = GetObject(«winmgmts:»),
т.к. ваш случай больше подходит для перезагрузки удаленных станций.
Я бы понял такой вариант:
objWMIService = GetObject(«winmgmts:» & «!\VPUPKIN_COMProotcimv2». Но зачем так много писать для локального компа?
3)ObjOperatingSystem.Win32Shutdown(1) выключит машину, а не перезагрузит/ Либо параметр (2) либо ObjOperatingSystem.Reboot()
Log Off — objOperatingSystem.Win32Shutdown(0)
Forced Log Off — objOperatingSystem.Win32Shutdown(0 + 4)
Shutdown — objOperatingSystem.Win32Shutdown(1)
Forced Shutdown — objOperatingSystem.Win32Shutdown(1 + 4)
Reboot — objOperatingSystem.Win32Shutdown(2)
Forced Reboot — objOperatingSystem.Win32Shutdown(2 + 4)
Power Off — objOperatingSystem.Win32Shutdown(8)
Forced Power Off — objOperatingSystem.Win32Shutdown(8 + 4)
4)Ваш вариант на Windows 7 вместо перезагрузки выдаст лаконичное «Privilege not Held»
Этот вариант будет работать и на семерке и на XP:
set objWMIService = GetObject(«winmgmts:»)
set colSoftware = objWMIService.ExecQuery(«Select * from Win32_OperatingSystem»)
for each objSoftware in colSoftware
objSoftware.Win32Shutdown(2)
next
Вот еще варианты на VBS с запросом подтверждения выполнения действия
—————————————————————
Message=»Вы хотите заверить сеанс пользователя?»
YesNo = MsgBox(Message, vbYesNo)
If YesNo = vbYes Then
Set objWMIService = GetObject(«winmgmts:»)
Set colOperatingSystems = objWMIService.ExecQuery («Select * from Win32_OperatingSystem»)
For Each objOperatingSystem in colOperatingSystems
ObjOperatingSystem.Win32Shutdown(0)
Next
End if
—————————————————————
Message=»Вы хотите выключить компьютер?»
YesNo = MsgBox(Message, vbYesNo)
If YesNo = vbYes Then
Set objWMIService = GetObject(«winmgmts:»)
Set colOperatingSystems = objWMIService.ExecQuery («Select * from Win32_OperatingSystem»)
For Each objOperatingSystem in colOperatingSystems
ObjOperatingSystem.Win32Shutdown(1)
Next
End if
——————————————————————
Message=»Вы хотите перезагрузить компьютер?»
YesNo = MsgBox(Message, vbYesNo)
If YesNo = vbYes Then
Set objWMIService = GetObject(«winmgmts:»)
Set colOperatingSystems = objWMIService.ExecQuery («Select * from Win32_OperatingSystem»)
For Each objOperatingSystem in colOperatingSystems
ObjOperatingSystem.Reboot()
Next
End If
А как из командной строки под ХР запустить е-майл?
Win 98 было — start mailto:test@mail.ru?subject=трялялля
Спасибо, действительно нужная инфа. Вот только я пару лет назад озадачился этим же для Windows 98, хочу еще пару способов для Windows 98 указать, вдруг еще кому пригодится 🙂 .
Перезагрузка RUNDLL32.EXE shell32.dll,SHExitWindowsEx 2
Выключение RUNDLL32.EXE shell32.dll,SHExitWindowsEx 1
И на VB script выключение
Dim objShell
set objShell = CreateObject(«Shell.Application»)
objShell.ShutdownWindows
set objShell = nothing
Команда shutdown
shutdown.exe -r -f -t 20 -c «Без паники компьютер будет перезагружен через 20 сек.»
Справка:
shutdown /?
Использование: shutdown [-i | -l | -s | -r | -a] [-f] [-m \]
[-t xx] [-c «комментарий»] [-d up:xx:yy]
Без аргументов Вывод справки по использованию (как и -?)
-i Отображение интерфейса, д.быть первым параме
-l Выход (не совместим с параметром -m)
-s Завершение работы компьютера
-r Перезагрузка компьютера
-a Прекращение завершения работы системы
-m \ Удаленный компьютер, на котором выполняется
действие
-t xx Таймаут завершения работы — xx сек.
-c «comment» Комментарий (не более 127 знаков)
-f Принудительное завершение приложений без
предварительного предупреждения
-d [u][p]:xx:yy Код причины завершения работы
u — пользовательский код
p — код запланированного завершения
xx — основной код причины (1 — 255)
yy — дополнительный код причины (1 — 65535)
Завершите работу компьютера с помощью командной строки
Нажмите клавиши Windows + R, чтобы открыть окно «Выполнить». Оттуда введите «cmd» в поле и затем нажмите кнопку «ОК».
Это откроет командную строку. Здесь введите команду shutdown /s .
Как только вы нажмете Enter, появится сообщение, что Windows будет закрыта менее чем через минуту. Вы можете выбрать кнопку «Закрыть», если хотите, но это не повлияет на процесс выключения ПК.
Это все, что нужно сделать. Через минуту ваш компьютер выключится. Существует также способ перезагрузить компьютер с помощью командной строки, если вы этого хотите.
Перезагрузка операционной системы Windows 10 через командную строку
Перезагрузка системы необходима не только после установки драйверов и различных программ, но и в случае, когда ПК завис или возникла какая-то ошибка. Однако в редких случаях выполнить её достаточно сложно. На помощь приходит командная строка, с помощью которой можно выполнить не только перезагрузку системы, но и перевести компьютер в режим сна, принудительно завершить запущенные программы.
Автоматическая перезагрузка из командной строки в Windows 10 запускается командой shutdown /r /t 180, где 180 – это время в секундах, по истечении которого компьютер будет перезагружен.
В случае, когда пользователь передумал запускать перезагрузку Виндовс 10, команда отмены будет следующей: shutdown /a.
После запуска команды в окне уведомления появится сообщение о том, что ПК не будет перезагружен.
В случае, если перезагрузка Windows 10 нужна немедленно, стоит ввести shutdown /r /t 0.
Чтобы полностью выключить компьютер без таймера, рекомендуем ввести команду shutdown /s /t 0.
Также в Windows 10 с помощью командной строки и команды shutdown можно выполнить ряд других операций. Выделим основные и расшифруем их.
Если ввести shutdown, то появится перечень доступных операций.
- shutdown /? – вызов справки.
- shutdown /i – отображение графического интерфейса пользователя. Этот параметр должен быть первым.
- shutdown /l – завершение сеанса. Запрещается использовать с такими параметрами, как /m или /d.
- shutdown /s – выключение компьютера.
- shutdown /r – завершение работы и перезагрузка компьютера.
- shutdown /g – завершение работы и перезагрузка компьютера.
- shutdown /a – отмена завершения работы системы. Этот параметр можно использовать только в период ожидания.
- shutdown /p – отключение локального компьютера без предупреждения. Разрешается использовать с параметрами /d и /f.
- shutdown /h – активация режима гибернации. Разрешается использовать с параметром /f.
- shutdown /e – указание причины непредвиденного завершения работы компьютера.
- shutdown /m — компьютер Указание конечного компьютера.
- shutdown /t xxx – задание задержки в xxx секунд перед завершением работы компьютера. Значение по умолчанию: 30 секунд. Если период таймаута больше 0, применяется параметр /f.
- shutdown /c — «комментарий» Комментарий с причиной перезапуска или завершения работы. Допустимое количество знаков – 512.
- shutdown /f – принудительное завершение запущенных приложений без предупреждения пользователей. Параметр /f используется, если для параметра /t задано значение больше 0.
- shutdown /d [p|u:]xx:yy – необходимо указать причину для перезагрузки или выключения, где p – запланированная перезагрузка или завершение работы; u – причина; xx – номер причины; yy – вспомогательный номер причины.
Эти операции подходят не только для Windows 10, но и для Windows 7, 8 и 8.1.