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

13.04.2021
35,421 Просмотры

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

Причем выключать по сети нужно как windows серверы, так и linux различных дистрибутивов — ubuntu, centos, freebsd. То есть решение должно быть простое и надежное.

Дистанционное выключение Windows сервера

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

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

Принцип работы удаленного отключения следующий:

  1. На компьютере или сервере создается пользователь, которому будет разрешено подключаться по rdp и завершать работу сервера.
  2. В автозагрузке этого пользователя будет скрипт для завершения работы.
  3. Пользователям, которые будут удаленно выключать сервер, дается специально подготовленный rdp клиент, который без всяких запросов будет подключаться нужным пользователем, у которого будет срабатывать скрипт на завершение работы.

Все достаточно просто, но на каждом этапе я сталкивался с проблемами, которые требовали не тривиального решения. Но обо все по порядку.

Итак, идем на север и создаем там простой bat файл следующего содержания:

Shutdown /p /d p:0:0 /f

Сохраняем файл и создаем пользователя, под которым будем выключать сервер. Не забудьте добавить этому пользователю разрешение подключаться по rdp. Если вы выключаете компьютер с десктопной системой, то прав обычного пользователя достаточно. Если же вам надо погасить Windows Server, то пользователя нужно либо сделать админа, либо дать ему права на разрешение выключение сервера через локальную политику безопасности. Живет эта политика по адресу — параметры безопасности — локальные политики — назначение прав пользователей — завершение работы системы.

Вот тут я напоролся на первые неприятности. Я назвал свой скрипт shutdown.bat и очень долго не мог понять, почему он не срабатывает. При вводе команды shutdown с параметрами в консоли все отлично работало, но скрипт не запускался. Оказывается, его нельзя называть таким именем. После того, как переименовал в shut.bat, все отлично заработало. Какая-то нелепая загвоздка, но мне пришлось потратить немало времени, пока я разобрался, в чем тут дело.

Дальше заходим нашим новым пользователем, чтобы создались стандартные папки профиля и кладем скрипт автовыключения сервера ему в автозагрузку — C:\Users\shut-user\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup.

Теперь нам нужно настроить автоматический вход пользователя по rdp, чтобы выполнить удаленное завершение работы. Причем пользователь должен заходить на сервер без запроса имени и пароля. Штатными средствами rdp клиента windows это сделать невозможно. Даже если вы сохраните параметры, то при переносе настроек на другой компьютер нужно будет снова вводить пароль. Мне это не подходило.

Я пробовал использовать старую портированную версию rdp 5.2. Это последняя версия, где пароль в зашифрованном виде можно было хранить в файле настроек. Но при переносе этого файла на другой компьютер, все равно выскакивало окно с вводом пароля. Добиться полного автоматизма не получалось.

Но решение было найдено. Существует любопытный проект Remote Desktop Plus , который является надстройкой над rdp. С помощью этой надстройки можно передать параметры в rdp через командную строку, в том числе и имя пользователя с паролем. Мне это полностью подходит. Скачиваем файлик либо с сайта автора проекта, либо с моего. Я скопировал на всякий случай эту очень полезную утилиту. Кладем его в папку и создаем в этой же папке rem-shut.bat файл следующего содержания:

Rdp.exe /v:10.10.5.14 /u:shut-user /p:pass123 /w:640 /h:480

Всего этого достаточно, чтобы выполнить дистанционное завершение работы на windows сервере. Пользователю необходимо передать 2 файла:

  • rdp.exe
  • rem-shut.bat

Важно, чтобы они лежали в одной папке. При запуске батника произойдет подключение rdp пользователя и выполнится скрипт завершения работы. Задача выполнена.

Удаленное выключение linux сервера

Здесь все оказалось значительно проще. Сразу же было найдено рабочее решение, которое позволяет без проблем удаленно выключить любой linux сервер. Задача решается стандартными средствами putty . Эту программу можно запускать из командной строки с параметрами. В качестве параметров можно указать файл с командами для выполнения, адрес сервера, пользователя и пароль.

Подготовим все необходимое. Сначала создаем простой текстовый документ shutdown.txt следующего содержания:

Putty.exe -m shutdown.txt -ssh -P 22 -l root -pw rootpass 10.10.5.15

Передаем пользователю 3 файла, сложенные в одну папку:

  • putty.exe
  • shutdown.txt
  • serv-rem-shut.bat

Теперь при запуске скрипта serv-rem-shut.bat серверу по сети будет отправлена консольная команда на завершение работы. При этом не будет задано никаких вопросов. Сервер просто молча выключится.

Заключение

Вот такие нехитрые способы были мной придуманы и реализованы. Тут еще важно обеспечить доступ к локальной сети, в которой живут серверы. В моем случае openvpn позволяет выполнить удаленное выключение компьютеров даже через интернет.

Уверен, существует множество других возможностей погасить сервер удаленно. Буду рад, если в комментариях со мной кто-нибудь поделится своими идеями и опытом на этот счет.

Онлайн курс по Linux

Если у вас есть желание научиться строить и поддерживать высокодоступные и надежные системы, рекомендую познакомиться с онлайн-курсом «Администратор Linux» в OTUS. Курс не для новичков, для поступления нужны базовые знания по сетям и установке Linux на виртуалку. Обучение длится 5 месяцев, после чего успешные выпускники курса смогут пройти собеседования у партнеров. Что даст вам этот курс:
  • Знание архитектуры Linux.
  • Освоение современных методов и инструментов анализа и обработки данных.
  • Умение подбирать конфигурацию под необходимые задачи, управлять процессами и обеспечивать безопасность системы.
  • Владение основными рабочими инструментами системного администратора.
  • Понимание особенностей развертывания, настройки и обслуживания сетей, построенных на базе Linux.
  • Способность быстро решать возникающие проблемы и обеспечивать стабильную и бесперебойную работу системы.
Проверьте себя на вступительном тесте и смотрите подробнее программу по.

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

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

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

Не будем срываться с места в карьер, начнём с самого начала. А начало - это основная команда для выключения компьютера , которую мы будем использовать. В ОС Windows для завершения работы достаточно передать системе команду shutdown с нужными параметрами.

В принципе, команду shutdown можно выполнять разными способами:


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

Как же это работает? Чтобы компьютер выключился автоматически , то есть без необходимости лезть в меню "Пуск" и нажимать там кнопку "Завершение работы", нам нужно вызвать следующую команду:

Shutdown -s

Через 30 секунд после выполнения произойдёт завершение работы системы. Кроме этого той же командой, но с иным параметром можно не выключить компьютер, а перезагрузить его. Вот как это будет выглядеть:

Shutdown -r

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

Shutdown /?

Автоматическое выключение компьютера через определённое время

Итак, переходим к практическому применению информации, которую мы собрали в первых двух главах.

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

Shutdown -s -f -t 1800

Используемые параметры нам уже знакомы. А значение 1800 задаёт значение времени в секундах, через которое будет произведено завершение работы. То есть, 1800 секунд = 1800 секунд / 60 секунд в минуте = 30 минут. С этим проблем возникнуть не должно. После выполнения команды мы получим системное уведомление, о том, что запланировано завершение работы

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

Но как быть, если, допустим, спустя минут 15 мы понимаем, что фильм досмотреть не успеем и нужно отменить автоматическое выключение? Чтобы отказаться от запланированного завершения работы Windows , необходимо выполнить следующую команду:

Shutdown -a

Сразу после выполнения команды высветится оповещение о том, что автоматическое выключение компьютера отменено

Это, собственно, всё, что нужно знать для автоматического выключения компьютера через заданное время. Но каждый раз вводить команду в консоль не очень удобно, поэтому ниже мы разберём, как написать бат-файл для автоматического выключения компьютера или его перезагрузки .

Батник для автоматического выключения компьютера

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

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

На данный момент мы имеем три батника , каждый из которых выполняет свою функцию: выключение компьютера, перезагрузку и отмену запланированных действий.
Для начала напишем основную часть нового единого bat-файла . Суть будет заключаться в том, чтобы спрашивать у пользователя, какое из трёх действий требуется выполнить, а потом уже переходить к той части, которая отвечает за нужную функцию.

Выбор функции зададим следующей строчкой (её, как и весь файл, можно отредактировать на своё усмотрение, как будет удобнее):

Set /p answer="выключить - 1, перезагрузить - 2, отменить - 0: "

Здесь мы задаём новую переменную answer , значение которой вводится при каждом запуске файла и подтверждается нажатием клавиши Enter .
Переход к нужной части бат-кода осуществляем командой goto , в данном случае строчка будет иметь следующий вид:

Goto %answer%

Начало каждой независимой части ознаменуем, соответственно, как :1 , :2 и :0
Для грамотного выполнения сделаем завершение каждой части кода не командой pause , а командой exit , добавив перед закрытием окна двухсекундную задержку:

TIMEOUT /T 2 exit

И в завершении добавим раскрашивание текста разным цветом, в зависимости от выполняемой команды:

На выходе мы получим следующий код:

Echo off chcp 1251 set /p answer="выключить - 1, перезагрузить - 2, отменить - 0: " goto %answer% :1 set /p min_off="Выключить компьютер через (минут): " set /A sec_off="%min_off% * 60" color C echo Компьютер будет выключен через %min_off% минут shutdown -s -f -t %sec_off% TIMEOUT /T 2 exit:2 set /p min_re="Перезагрузить компьютер через (минут): " set /A sec_re="%min_re% * 60" color E echo Компьютер будет перезагружен через %min_re% минут shutdown -r -f -t %sec_re% TIMEOUT /T 2 exit:0 color A echo Запланированное завершение работы Windows отменено shutdown -a TIMEOUT /T 2 exit

Каждая команда уже описана выше. Вот, как это работает:

  1. Мы запускаем батник.
  2. В ответа на вопрос о выборе функции вводим 1 , 2 или 0 . , подтверждаем ввод клавишей Enter .
  3. Консоль перейдёт к соответствующей части кода и, если это выключение или перезагрузка, спросит, через сколько минут произвести требуемое действие.
  4. Потом введённое значение преобразуется в секунды и добавляется в команду, параметры которой и определяют запланированное действие.

Скачать готовый bat-файл для автоматического выключения компьютера можно из прикреплённого архива: auto-shutdown-bat .

Для удобства можно упаковать получившийся батник в SFX-архив и добавить к нему иконку. В итоге получится простая портативная программа для автоматического выключения и перезагрузки компьютера через заданный интервал времени: auto-shutdown-exe .


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

К примеру, прямо на ваших глаза вирус «поедает» файлы и лучшим выходом в предоставленной ситуации является именно отключение
ПК срочно.

Лучше всего подойдет специальная Windows команда «Shutdown ». Как пользоваться ей и другими командами мы рассмотрим ниже.

1. Shutdown в командной строке

С помощью shutdown можно не только выключить быстро компьютер, но и перезагрузить его, либо задать ему время через которое ему следует отключиться.
Также команда отлично справляется с «принудительным» завершением работы пк, в том случае, если что-то мешает компьютеру отключиться.

2. Командная строка. Запуск.

Для того, чтобы начать использовать команду для отключения пк shutdown, нужно открыть саму командную строку.
В меню «Пуск» входим в раздел «Все программы», далее «Стандартные» и найдите там «Командная строка».
Второй, более простой метод – это комбинация клавиш Windows + R .

3. Инструкции по вводу

Всё достаточно просто. Введите в нужное поле shutdown, а после нажмите на пробел и тире и используйте одну букв, которые ведут к разному результату.
shutdown –s – выключение компьютера; shutdown –r – перезагрузка компьютера; shutdown –a – остановить выключение компьютера; shutdown –f – выключить компьютер принудительно.

4. Другие инструкции.

Кроме команды отключения, есть и набор других инструкций. Выглядят они так:
- i – выводит на экран справку о наборе команд;
- l – выходи зи меню;
- m – взаимодействие с удаленным пк;
- t [время через которое пк должен быть отключен];
- d – причина выключения пк.

5. Альтернативный вариант ввода команд

Все команды, перечисленные выше, могут быть введены еще и в окно «выполнения» программ.
Нажмите сочетание клавиш Win+R и откройте доступ к утилите «Выполнить ». Чтобы принудительно выключить ПК, в нее достаточно ввести следующее:


Сюда же могут быть введены более сложные команды, примеры которых вы видели выше.
Этот способ обладает некоторыми преимуществами. Например после введения команды через какой-то промежуток времени, пользователю будет транслироваться время, через которое машина будет отключена.
То есть, если установить таймер выключения на 60 секунд, то на экране появится небольшое окошко, в котором секунды будут убывать до нуля. Как только таймер тикнет на «ноль», ПК выключится.

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

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

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

  1. Зажмите клавишу Windows (значок окна) + R .
  2. В окне «выполнить» напечатайте CMD и нажмите OK мышкой или Enter на клавиатуре.

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

Выключение локального компьютера (Вашего)

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

Введите shutdown -s в командной строке и нажмите Enter, что приведет к скоро временному завершению работы ПК с предупреждением. Если использовать shutdown -p , то компьютер выключится моментально.

Особенностью shutdown является то, что компьютер можно выключить из командной строки через определенное количество времени . К команде выше прибавляется префикс t, числовая переменная, и она принимает вид shutdown –s -t 300.

После выполнения запускается таймер обратного отсчёта и показываетсяпредупреждающее сообщение. Числовая переменная (в данном случае 300) представляет собой число секунд, по истечении которых компьютер будет отключен. Задайте свое количество секунд, исходя из своих потребностей.

Для отображения сообщения, содержащее причину выключения, используйте shutdown –s -t 500 -c "Я устал. Я не хочу работать, ухожу домой" (с кавычками) в cmd и нажмите клавишу Enter . Параметр -c используется в команде, чтобы прокомментировать причину отключения и что следует в кавычках будет отображаться в диалоговом окне в качестве пояснения. Это может быть использовано для отображения смешных сообщений.

Завершение работы удаленного компьютера

Чтобы выключить удаленный компьютер введите shutdown-s-m \\имя компьютера в cmd и нажмите клавишу Enter. Замените "\\имя компьютера", на фактическое имя удаленного ПК для попытки выключения. Как упоминалось ранее, вы должны иметь доступ администратора к компьютеру, который вы пытаетесь выключить. Чтобы узнать есть ли у вас административные права доступа, нажмите сочетание клавиш Windows + R, введите имя компьютера, далее нажмите клавишу Enter.

Примечание: если Вы не помните имя удаленного компьютера, вы можете отыскать его, открыв список всех подключенных ПК, выполнив net view в командной строке.


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

Используйте выражение типа «shutdown -a», для отката выключения. Это приведет к остановке отключения системы, завершение работы, в том случае, если обратный отсчет времени не достиг 0.

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

В любой современной операционной системе есть возможность выключить компьютер через командную строку. В Windows 10 это чаще всего требуется когда необходимо удалённо перезагрузить ПК. В случае с Linux (Ubuntu, Debian, CentOS и т.п.) вообще большинство операций выполняются через консоль и теперь не только бородатые дадьки-сисадмины, но уже всё чаще и обычные пользователи знают как выполняется перезагрузка или выключение компьютера через командную строку. Если Вы ещё не в курсе как это можно сделать — я сейчас всё подробно расскажу.

Выключаем Windows 10 через командную строку

В Windows есть штатная консольная утилита , которая даёт возможность перезагрузить или вообще выключить ПК. Для этого достаточно открыть командую строку Виндовс в обычном режиме, либо под администратором. Чтобы её запустить — нажмите кнопку «Пуск» и наберите «сmd» или «Командная строка».

В результатах поиска должен появиться ярлычок «Командная строка».

Примечание: Как вариант, можно нажать комбинацию клавиш Win+R и ввести в строчке «Открыть» команду cmd и нажать клавишу «Enter».

Теперь можно вводить команду shutdown . С её помощью можно выполнить как отключение, так и перезагрузку системы.

Вот список наиболее популярных вариантов использования данной команды:

shutdown — немедленной выключить ПК.
shutdown -r — немедленной перезагрузить ПК.
shutdown –l — выйти из системы (log off).
shutdown -s -t 60 — выключение компьютера по таймеру. В данном случае он будет выключен через 60 секунд.
shutdown -a — приостановить выключение ПК.
shutdown -f — принудительно закрыть все запущенные приложения.

Как выключить Linux из консоли

Если Вы работаете в операционной системе Linux, то чтобы выключить компьютер из командной строки, Вы должны иметь права суперпользователя Root . То есть, сначала Вы должны либо выполнить команду su , чтобы получить соответствующие права, либо выполнять команды через sudo .

Синтаксис команды:

# shutdown [опции] [время] [сообщение]

Наиболее часто используемые опции:
-h - сокращение от halt — полное выключение компьютера;
-r - сокращение от reboot — перезагрузка ПК.
С помощью указания параметра времени Вы можете отключить компьютер по таймеру. Например:
shutdown -r +1 -перезагрузка компьютера через 1 минуту
shutdown -h 22:00 — выключение компьютера в 22:00
Чтобы выключить ПК через командую строку немедленно — наберите команду:
shutdown -h 0
или
shutdown -h now
Для отмены остановки работы системы можно набрать команду:
shutdown -c
После её ввода процесс выключения или перезагрузки будет остановлен.

Примечание:
1. В некоторых случаях, для выключения ПК через командную строку Линукс, можно использовать команды reboot, halt и poweroff. Но они не всегда могут присутствовать в консоли.

2. Если запустив команду на отключение компьютера, вы получите ответ «command not found», то это означает, что оболочка не знает, где находится файл консольной программы. Попробуйте указать полный путь к ней — /sbin/shutdown -h. Именно в каталоге /sbin обычно лежат исполняемые файлы консольных приложений.



Похожие статьи
  • Сколько калорий в пирожке с капустой

    Все мы любим пирожки. У многих пирожки – это воспоминания о детстве, о субботнем утре, о деревне; бабушкины пирожки для многих всегда останутся самыми вкусными и ароматными. И нередко на диете бывает легче перенести отсутствие десерта, чем запрет...

    Насосные станции
  • Афанасий фет В каком веке родился фет

    Родился в семье помещика Афанасия Неофитовича Шеншина и матери, которая ушла к нему от мужа Иоганна-Петера Фета. После четырнадцати лет орловской духовной консисторией Афанасию была возвращена фамилия предыдущего мужа матери, из-за чего он терял...

    Нормы и правила
  • Сонник: к чему снится Ругаться

    Ругаться по соннику эзотерика Е.Цветкова Ругаться – Браниться с кем-то – досада; слышать ругань – официальная церемония; с женой, мужем – см. Жена, муж.Ругаться – Досада. Сонник Странника (Терентия Смирнова) Толкование Ругались из вашего сна...

    Проектирование