- Команда Shutdown: выключение и перезагрузка Windows из командной строки
- Выключение Windows командой Shutdown
- Перезагрузка Windows
- Завершение сеанса пользователя
- Перевод компьютера в режим гибернации
- Перезагрузка компьютера с сообщением пользователям
- Отложенное выключение / перезагрузка компьютера
- Отмена выключения / перезагрузки компьютера
- Перезагрузить компьютер немедленно
- Запуск команды shutdown на удаленных компьютерах
- Графический интерфейс команды shutdown
- Ярлык для перезагрузки компьютера
- Выключение или перезагрузка компьютера из bat файла
- Выключить или перезагрузить компьютер из PowerShell
- Выключить или перезагрузить компьютер из JScript/VBScript через WSH
- Выключить или перезагрузить компьютер программой nhss
- Выключить или перезагрузить компьютер командой shutdown
- Как выключить компьютер по таймеру
- Скрипт замены текста в файле
- Синтез речи в скрипте и bat файле
- Размер выделенной памяти в командной строке Windows
- Выключение или перезагрузка компьютера из bat файла : 1 комментарий
- Автоматическое выключение компьютера. Пишем bat-файл
- Содержание статьи:
- Как выполнить shutdown для выключения и перезагрузки компьютера
- Параметры команды shutdown
- Автоматическое выключение компьютера через определённое время
- Батник для автоматического выключения компьютера
- Создаем программу для автоматического выключения компьютера
Команда 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.
Перезагрузка 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. Например, для немедленной перезагрузки компьютера:
Очень важный ключ /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.
Выключение или перезагрузка компьютера из bat файла
Статья описывает, как выключить или перезагрузить компьютер на Windows из командной строки: PowerShell, JScript/VBScript с WSH, nhss, shutdown. А также дополнительно, как сделать выключение или перезагрузку с задержкой.
Выключить или перезагрузить компьютер из PowerShell
Выключить компьютер можно командной Stop-Computer из консоли PowerShell:
Перезагрузить компьютер можно командой Restart-Computer из консоли PowerShell:
Как это выглядит в консоли PowerShell:
Поскольку PowerShell сейчас устанавливается на Windows по умолчанию, то использование PS команды не требует дополнительных установок.
Чтобы выполнить выключение или перезагрузку через PowerShell из bat файла или из командной строки, их надо вызывать через powershell.
Например, команда перезагрузки локального компьютера в bat файле или командной строке:
Аналогично, команда выключения локального компьютера в bat файле или командной строке:
Выключить или перезагрузить компьютер из JScript/VBScript через WSH
Способ основан на использовании метода Win32Shutdown класса Win32_OperatingSystem:
Выключить компьютер можно следующим скриптом на JScript:
Перезагрузить компьютер можно следующим скриптом на JScript:
Пример на VBScript, с forced restart (добавляется 4):
Поскольку WSH сейчас установлен по умолчанию на Windows, то использование JScript/VBScript не требует установки каких-либо программных компонентов.
Выключить или перезагрузить компьютер программой nhss
Программа nhss предназначена для управления питанием компьютера и позволяет выполнять такие команды, как выключение, перезагрузка, ждущий режим, спящий режим.
Выключить компьютер можно следующей командой:
Перезагрузить компьютер можно следующей командой:
Команды просты в использовании, но потребуется установить программу nhss.exe и прописать путь к ней.
Выключить или перезагрузить компьютер командой shutdown
Выключить компьютер можно следующей командой:
Перезагрузить компьютер можно следующей командой:
Важно! Команда shutdown делает «грубое» завершение Windows, которое на практике приводило к тому, что не сохранялись настройки, сделанных в Windows в текущем сеансе. Поэтому хотя и выключение/перезагрузка компьютера через shutdown действительно срабатывает, я бы не рекомендовал использование shutdown для обычного завершения, а только для экстренных случаев, когда требуется максимально быстро завершить Windows, например, в случае Low Battery на ИБП.
Как выключить компьютер по таймеру
Чтобы настроить выключение компьютера через определенное время, например, через 1 час, это можно сделать выполнением команды выключения с задержкой, см. Сделать задержку в командном файле:
Или через PowerShell с задержкой в 30 минут:
Скрипт замены текста в файле
Синтез речи в скрипте и bat файле
Размер выделенной памяти в командной строке Windows
Выключение или перезагрузка компьютера из bat файла : 1 комментарий
echo off
chcp 1251
cls
😡
cls
set /p any=»Завершение работы- 1, перезагрузка- 2, отключение таймера- 0. Выберите действие: »
cls
set j=%any%
if %j% == 3 (
msg * Такого значения не существует.
echo Такого значения не существует.
ping -n 2 127.0.0.1 > NUL
cls
goto x
) else (
cls
)
if %j% == 4 (
msg * Такого значения не существует.
echo Такого значения не существует.
ping -n 2 127.0.0.1 > NUL
cls
goto x
) else (
cls
)
if %j% == 5 (
msg * Такого значения не существует.
echo Такого значения не существует.
ping -n 2 127.0.0.1 > NUL
cls
goto x
) else (
cls
)
if %j% == 5 (
msg * Такого значения не существует.
echo Такого значения не существует.
ping -n 2 127.0.0.1 > NUL
cls
goto x
) else (
cls
)
if %j% == 6 (
msg * Такого значения не существует.
echo Такого значения не существует.
ping -n 2 127.0.0.1 > NUL
cls
goto x
) else (
cls
)
if %j% == 7 (
msg * Такого значения не существует.
echo Такого значения не существует.
ping -n 2 127.0.0.1 > NUL
cls
goto x
) else (
cls
)
if %j% == 8 (
msg * Такого значения не существует.
echo Такого значения не существует.
ping -n 2 127.0.0.1 > NUL
cls
goto x
) else (
cls
)
if %j% == 9 (
msg * Такого значения не существует.
echo Такого значения не существует.
ping -n 2 127.0.0.1 > NUL
cls
goto x
) else (
cls
)
if %j% == 0 (
shutdown /a
msg * Таймер был отключён!
cls
exit
) else (
cls
)
if %any% == 1 (
echo Вы выбрали- завершение работы
ping -n 2 127.0.0.1 > NUL
cls
) else (
echo Вы выбрали- перезагрузку
ping -n 2 127.0.0.1 > NUL
cls
)
if %any% == 1 (
set /p sec=»Введите время до завершения работы (в минутах): »
) else (
set /p sec=»Введите время до перезагрузки (в минутах): »
)
set /a min=%sec%*60
cls
if %any% == 1 (
shutdown /s /t %min%
msg * Компьютер выключится через %sec% минут!
) else (
shutdown /r /t %min%
msg * Компьютер перезагрузится через %sec% минут!
)
Кодировка ANSI
Вот довольно простой и функцианальный батник
Автоматическое выключение компьютера. Пишем bat-файл
Автоматизация некоторых процессов на компьютере часто позволяет существенно увеличить удобство использования ПК не только в работе, но и в повседневной жизни. В одном из топиков мы, к примеру, рассматривали способы добавления любой программы в автозагрузку компьютера: Автозагрузка. Добавление приложений в автозагрузку Windows.
Данная статья будет посвящена такому моменту, как автоматическое выключение компьютера через заданный промежуток времени. Все манипуляции мы будем производить исключительно средствами самой системы Windows, без использование сторонних программ . Кроме того, не станем ограничиваться выполнением голых команд, а добавим всему процессу немного юзабилити.
Содержание статьи:
Как выполнить shutdown для выключения и перезагрузки компьютера
Не будем срываться с места в карьер, начнём с самого начала. А начало — это основная команда для выключения компьютера, которую мы будем использовать. В ОС Windows для завершения работы достаточно передать системе команду shutdown с нужными параметрами.
В принципе, команду shutdown можно выполнять разными способами:
- выполнить shutdown из командной строки Windows
- вызвать команду shutdown из утилиты Выполнить в системе Windows
- отправить команду shutdown непосредственно из меню Пуск
Все три способа схожи, поддерживают одни и те же параметры, поэтому мы не будет заострять на этом внимание и весь процесс будем выполнять в консоли, то есть в командной строке системы Windows.
Как же это работает? Чтобы компьютер выключился автоматически , то есть без необходимости лезть в меню «Пуск» и нажимать там кнопку «Завершение работы», нам нужно вызвать следующую команду:
Через 30 секунд после выполнения произойдёт завершение работы системы. Кроме этого той же командой, но с иным параметром можно не выключить компьютер, а перезагрузить его. Вот как это будет выглядеть:
Опять же отметим, что остальные параметры для команды выключения и перезагрузки схожи, поэтому мы не будем повторять каждый набор дважды, а рассмотрим весь процесс автоматического выключения компьютера на примере команды shutdown -s, держа в уме, что всё то же самое применимо и к команде shutdown -r
А теперь приступим к усовершенствованию команды и добавлению к ней дополнительных параметров.
Параметры команды shutdown
Материал, описанный в статье, применим к большинству используемых на сегодняшний день версий операционной системы от компании Microsoft. Команды и способы их выполнения позволяют автоматически выключить компьютер на Windows 10, Windows 8.1, Windows 8, Windows 7, Windows Vista и всё ещё сохраняющей своего верного пользователя Windows XP.
Теперь рассмотрим основные параметры команды shutdown, которыми мы будем пользоваться:
- -s основной параметр, который позволяет автоматически выключить компьютер ;
- -r основной параметр, который позволяет автоматически перезагрузить компьютер ;
- -a основной параметр, который позволяет отменить запланированное действие по выключению или перезагрузке компьютера ;
- -t позволяет задать время задержки в секундах до выключения или перезагрузки компьютера. Возможно присвоение значения в диапазоне от 0 до 315360000 (10 лет). По умолчанию присваивается значение 30;
- -f принудительное закрытие запущенных приложений без предупреждения пользователей. Не самый главный параметр, но бывает полезен, так как помогает избежать отмены выключения или перезагрузки компьютера из-за зависших программ.
Для целей знакомства со способом автоматического выключения компьютера этого нам будет достаточно. Ниже мы добавим к приведённому набору другие команды, чтобы сделать использование функции shutdown ещё удобнее.
Полный список параметров для shutdown можно увидеть, выполнив в консоли следующую команду:
Автоматическое выключение компьютера через определённое время
Итак, переходим к практическому применению информации, которую мы собрали в первых двух главах.
Допустим, мы смотрим фильм и понимаем, что можем уснуть, не выключив компьютер. Нам нужно, чтобы компьютер выключился сам через 30 минут. Для этого необходимо выполнить следующую команду (мы помним, что сделать это можно не только в командной строке, но также через утилиту Выполнить или в меню Пуск ):
Используемые параметры нам уже знакомы. А значение 1800 задаёт значение времени в секундах, через которое будет произведено завершение работы. То есть, 1800 секунд = 1800 секунд / 60 секунд в минуте = 30 минут. С этим проблем возникнуть не должно. После выполнения команды мы получим системное уведомление, о том, что запланировано завершение работы
Кроме того, за 10 минут до момента завершения работы вне зависимости от запланированной причины (выключение или перезагрузка) мы получим дополнительное предупреждение от системы Windows
Но как быть, если, допустим, спустя минут 15 мы понимаем, что фильм досмотреть не успеем и нужно отменить автоматическое выключение? Чтобы отказаться от запланированного завершения работы Windows , необходимо выполнить следующую команду:
Сразу после выполнения команды высветится оповещение о том, что автоматическое выключение компьютера отменено
Это, собственно, всё, что нужно знать для автоматического выключения компьютера через заданное время. Но каждый раз вводить команду в консоль не очень удобно, поэтому ниже мы разберём, как написать бат-файл для автоматического выключения компьютера или его перезагрузки .
Батник для автоматического выключения компьютера
В статье Пакетные файлы (bat, батники) Windows мы подробно рассматривали основные правила создания бат-файлов и их синтаксис. Чтобы не повторяться лишний раз, в данной публикации будем описывать только те команды и параметры, которые будем применять для создания файлов, позволяющих запланировать автоматическое выключение компьютера.
Возьмём команду, приведённую в главе выше, и сделаем из неё простенький бат-файл для выключения компьютера через 10 минут. Его содержимое будет следующим:
- echo off — скрывает вывод системных сообщений при выполнении процедуры;
- chcp 1251 — задаёт кодировку для корректного отображения кириллицы;
- echo — выводит сообщение в консоли о выключении;
- shutdown -s -f -t 600 — задаёт время выключения — 600 секунд, то есть 10 минут;
- pause — останавливает выполнение батника до нажатия любой кнопки клавиатуры.
Это очень легко, добавим функционала нашему bat-файлу. Для этого воспользуемся командой set, которая позволяет задавать пользовательские переменные. То есть, при запуске батника консоль будет спрашивать нас примерно следующее: «Через сколько секунд выключить компьютер?», а мы каждый раз можем вводить нужное значение и жать клавишу Enter . Вот как будет выглядеть код нашего батника:
- set /p sec_off= — задаём значение переменной sec_off;
- echo — выводим в уведомление заданное значение секунд;
- shutdown -s -f -t %sec_off% — выключаем компьютер спустя заданное в начале количество секунд.
Уже лучше, но можно усовершенствовать. Задавать время выключения в секундах не очень удобно. Мы будем использовать минуты (можно по аналогии настроить и часы). Однако, консоль Windows не поймёт нашего значения в минутах, поэтому для неё мы будем осуществлять перевод в секунды.
Вот как это будет выглядеть:
- set /p min_off= задаём значение переменной min_off;
- set /A sec_off= задаём значение переменной sec_off, умножая количество минут на 60, чтобы получить для консоли секунды;
- echo — выводим в уведомлениях заданные минуты;
- shutdown -s -f -t %sec_off% подставляем полученное значение в секундах.
В принципе, на этом можно остановиться. Готовые батники выключения, перезагрузки и отмены завершения работы с приведённым кодом можно скачать из прикреплённого к статье архива: auto-shutdown-reboot-bat.
Но можно ещё немного улучшить бат-файлы и сделать из трёх один, преобразовав его в крошечную программу. Этим и займёмся ниже.
Создаем программу для автоматического выключения компьютера
На данный момент мы имеем три батника , каждый из которых выполняет свою функцию: выключение компьютера, перезагрузку и отмену запланированных действий.
Для начала напишем основную часть нового единого bat-файла . Суть будет заключаться в том, чтобы спрашивать у пользователя, какое из трёх действий требуется выполнить, а потом уже переходить к той части, которая отвечает за нужную функцию.
Выбор функции зададим следующей строчкой (её, как и весь файл, можно отредактировать на своё усмотрение, как будет удобнее):
Здесь мы задаём новую переменную answer , значение которой вводится при каждом запуске файла и подтверждается нажатием клавиши Enter .
Переход к нужной части бат-кода осуществляем командой goto, в данном случае строчка будет иметь следующий вид:
Начало каждой независимой части ознаменуем, соответственно, как :1, :2 и :0
Для грамотного выполнения сделаем завершение каждой части кода не командой pause, а командой exit, добавив перед закрытием окна двухсекундную задержку:
И в завершении добавим раскрашивание текста разным цветом, в зависимости от выполняемой команды:
На выходе мы получим следующий код:
Каждая команда уже описана выше. Вот, как это работает:
- Мы запускаем батник.
- В ответа на вопрос о выборе функции вводим 1, 2 или 0. , подтверждаем ввод клавишей Enter .
- Консоль перейдёт к соответствующей части кода и, если это выключение или перезагрузка, спросит, через сколько минут произвести требуемое действие.
- Потом введённое значение преобразуется в секунды и добавляется в команду, параметры которой и определяют запланированное действие.
Скачать готовый bat-файл для автоматического выключения компьютера можно из прикреплённого архива: auto-shutdown-bat.
Для удобства можно упаковать получившийся батник в SFX-архив и добавить к нему иконку. В итоге получится простая портативная программа для автоматического выключения и перезагрузки компьютера через заданный интервал времени: auto-shutdown-exe.