Автоматическое выключение компьютера. Пишем bat-файл. Как выключить удаленный windows и linux сервер Команда для удаленного выключения компьютера

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.
  • Способность быстро решать возникающие проблемы и обеспечивать стабильную и бесперебойную работу системы.
Проверьте себя на вступительном тесте и смотрите подробнее программу по.

Бывают случаи, когда нужно компьютер выключить через определенное время. К примеру, Вы включили качать большой файл на ночь, чтобы не ожидать завершения скачивания, можно установить таймер обратного отсчета для выключения. В Интернете есть огромное множество программ и утилит, выполняющих подобные задачи. Мало того, почти все торрент клиенты имеют функцию выключения после завершения скачивания. Но я Вам привел просто пример, на момент написания статьи в голову ничего больше «не лезло» .

И так, для начала нужно вызвать командную строку. Нажимаем сочетанием клавиш R

Появится окно команды Выполнить , вводим туда cmd и жмем ОК


Появится командная строка, вводите следующее

shutdown / s / t 3600

После чего жмем клавишу Enter

Где число 3600 обозначает количество секунд до выключения, именно секунд, а не минут.

1 час = 3600 секунд
2 часа = 7200 секунд
3 часа = 10800 секунд

Указанный выше способ подходит для Windows 7 и Windows 8, для операционной системы Windows XP вместо слеша нужно указать дефис.

shutdown - s - t 3600

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

shutdown /a

и жмем клавишу Enter

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

Использование: shutdown

xx:yy ]

Без пар. Отображение справки. То же, что и с параметром /?.

/? Отображение справки. То же, что и без параметров.

/i Отображение графического интерфейса пользователя.

Этот параметр должен быть первым.

/l Завершение сеанса. Этот параметр нельзя использовать с

параметрами /m или /d.

/s Завершение работы компьютера.

системы, запуск всех зарегистрированных приложений.

/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).

Причины на этом компьютере:

(E = ожидалось, U = не ожидалось, P = планировалось, C = определено

пользователем)

Тип Основной Вспомогательный Заголовок

U 0 0 Другое (Незапланированное)

E 0 0 Другое (Незапланированное)

E P 0 0 Другое (Запланированное)

U 0 5 Другие отказы: Система не отвечает

E 1 1 Оборудование: Обслуживание (Незапланированное)

E P 1 1 Оборудование: Обслуживание (Запланированное)

E 1 2 Оборудование: Установка (Незапланированная)

E P 1 2 Оборудование: Установка (Запланированная)

E 2 2 Операционная система: восстановление (запланированное)

E P 2 2 Операционная система: восстановление (запланированное)

P 2 3 Операционная система: Обновление (Запланированное)

E 2 4 Операционная система: Настройка (Незапланированная)

E P 2 4 Операционная система: Настройка (Запланированная)

P 2 16 Операционная система: Установка пакета обновления (Запланирован

2 17 Операционная система: Установка исправления (Незапланированная)

P 2 17 Операционная система: Установка исправления (Запланированная)

2 18 Операционная система: Установка исправления безопасности (Незап

P 2 18 Операционная система: Установка исправления безопасности (Запла

E 4 1 Приложение: Обслуживание (Незапланированное)

E P 4 1 Приложение: Обслуживание (Запланированное)

E P 4 2 Приложение: Установка (Запланированная)

E 4 5 Приложение: Не отвечает

E 4 6 Приложение: Работает неустойчиво

U 5 15 Отказ системы: STOP-ошибка

U 5 19 Проблема безопасности

E 5 19 Проблема безопасности

E P 5 19 Проблема безопасности

E 5 20 Потеря сетевых подключений (Незапланированная)

U 6 11 Сбой питания: Отключение кабеля

U 6 12 Сбой питания: Общие неполадки

P 7 0 Завершение работы, вызванное устаревшей API-функцией

Код: 6583079


В любой современной операционной системе есть возможность выключить компьютер через командную строку. В 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 обычно лежат исполняемые файлы консольных приложений.

Для ускорения работы за компьютером всегда полезно применять быстрые клавиши, которые сильно экономят время. Это относится не только к Windows XP и 7, но и к более современным продуктам — Windows 10. Поэтому существую интересные способы управления системой через командную строку. Интересный факт, что подобный интерфейс не устаревает даже в Windows 10, так как некоторые вещи всё-таки долговечны. В этой статье мы рассмотрим вопрос отключения системы через эту лаконичную в своём дизайне командную строку. Самое приятное, что таким методом можно отключать компьютеры не только в непосредственной близости, но и через удалённые элементы управления.

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

Код запуска

Чтобы выключить свой компьютер через интересный интерфейс – командную строку, необходимо выполнить ряд последовательных действий:

  • Первым делом нужно запустить командную сроку в системе. Обычно она обозначается в поиске как Cmd.

  • Откроется окно с чёрным фоном, где требуется набрать: shutdown /s /t 60. Данный код означает, что выключение компьютера состоится через одну минуту.

Как не сложно догадаться, заданное время устанавливается последовательностью /t 60. Существуют и другие ключи, которые помогают настроить автоотключение:

  • /L – это автоотключение с последующим выходом из текущего пользователя.
  • /f – это автоотключение с последующим закрытием всех работающих программ в системе Windows.

Удалённое завершение работы

Автоотключение есть возможность настроить и через систему удалённого управления компьютера. Для этого нужно прописать другой код:

  • shutdown /s /t 60 /f /L /m \\192.168.1.55

Также после /m можно прописывать и имя компьютера. Например, если компьютер называется USER, то код изменяется:

  • shutdown /s /t 60 /f /L /m \\USER

Платформы

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

(Visited 2 354 times, 1 visits today)

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

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

Как выключить компьютер под управлением любой ОС

Я думаю, не нужно объяснять, как выключать компьютер через меню Пуск, операционной системы. Те, кто пользуется операционками на ядре Linux, скорее всего тоже знают, как это сделать. Но всё же поясню.

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

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

Зачем выключать ПК, не надо

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

Нужны дешевые боты Вконтакте? Покупайте их на сайте https://doctorsmm.com/ . Здесь Вы получите огромнейший выбор всевозможных условий и критериев к данной услуге, которые позволят Вам сделать не только недорогое приобретение, но и действительно полезное. Добавленные страницы будут работать, а не висеть мертвым грузом, снижая рейтинг страницы.

Выключение компьютера с помощью CTRL+ALT+DEL

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

На планшетах, хоть и нет клавиатуры (хотя на некоторых всё же есть) можно зажимать некоторые клавиши, для появления этого окошка.

Еще вы можете быстро заблокировать Windows (если у вас стоит пароль или PIN-код), что делается нажатием клавиш Win+L , а потом выключить ПК.

Ну и известная комбинация Alt+F4 . Думаю не надо объяснять, что это.

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

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

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

Для начала убедитесь, что между компьютерами действительно организована локальная сеть. Запустите командную строку и введите команду:

arp –a


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

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



Снова открываете командную строку, желательно от имени администратора. Кстати, утилита PowerShell тоже работает, можете использовать её, если хотите. Вводим такую простую команду:

shutdown –i

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

Также снимаем галочку с «Запланированная остановка» . После этого нажимаем ОК и радуемся.

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

shutdown -s -t 30 -m \ИМЯ-ПК

Вместо числа 30 (время в секундах), вы можете указать абсолютно любое значение, либо вообще убрать переменную «-t», чтобы компьютер выключился сразу. Вместо имени вы можете ввести IP-адрес ПК, который хотите отключить.

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