Перезагрузка компьютера из командной строки (cmd) в Windows. SHUTDOWN — команда выключения и перезагрузки Windows

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

Большинство пользователей выключает свой компьютер с помощью стартового меню, с помощью меню через Alt+F4, или просто нажав на кнопку питания ПК.

Альтернативой этому может стать команда shutdown (перевод с англ. «shutting down» — выключение). Функционал данной команды позволяет выключить ваш компьютер (как сразу, так и через некоторое время), перезагрузить его, ввести в режим гибернации, выйти из учётной записи. Также, задать особенности выключения в специальном графическом окне, совершить другие действия, позволяющие кастомизировать процесс выключения ПК под нужды конкретного пользователя.

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

Как использовать SHUTDOWN

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

Чтобы начать работу с командой (нажмите на кнопку «Пуск», в строке поиска введите cmd, и нажмите ввод). Рекомендую запускать командную строку от имени администратора по видео:

Функционал команды shutdown выглядит следующим образом:

Из всей обоймы ключей я бы отметил следующие:

shutdown /a – команда останавливает процесс выключения или перезагрузки. Может быть полезна в ситуации, когда служба обновления Виндовс (Windows Update) решила перезагрузить ваш компьютер (или когда вы или какие-либо сторонние программы запустили процесс перезагрузки);

shutdown /s – команда выключения ПК;

shutdown /r – команда перезагрузки PC;

shutdown /g – функционал ключа похож на shutdown /r (компьютер перезагружается), при этом вновь запускаются все зарегистрированные приложения;

shutdown /h – ввод компьютера в режим гибернации;

shutdown /l – выход из учётной записи текущего пользователя (log off);

shutdown /p – выключение компьютера без соответствующих предупреждений. Равноценна команде shutdown /s /f /t 0.

Команда SHUTDOWN — примеры реализации

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

Пример №1. Выключаем питание компьютера немедленно

В командной строке наберите:

shutdown /s /t 0

Наберите команду с указанными ключами в командной строке

Пример №2. Выключаем питание компьютера с задержкой

В командной строке используйте команду:

shutdown /s /t 3600 (3600 – это время в секундах, в данном примере это 60 минут, т.е. один час). Вместо 3600 поставьте любое удобное для вас время, высчитав его показатель в секундах;

Пример №3. Перезагружаем компьютер немедленно

shutdown /r /t 0

Пример №4. Переводим ПК в режим гибернации

Введите — shutdown /h/t 0

Пример №5. Завершаем сеанс текущего пользователя

Пример №6. Останавливаем выключение компьютера

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

Пример №7. Перезагружаем удалённый компьютер по IP-адресу

shutdown /r /m \\192.168.0.1

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

Пример №8. Выключаем удалённый компьютер по его сетевому имени

shutdown /s /t 300 /m \\COMP1

Команда выключает питание сетевого компьютера COMP1 через 5 минут (300 секунд).

Пример №9. Запускаем графическую утилиту showdown

После запуска на экране появится табличка «Диалог удалённого завершения работы».

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

Пример №10. Перезагружаем ПК с восстановлением работы зарегистрированных приложений

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

Также вы можете легко оформить нужную вам команду в виде ярлыка, размещённом на рабочем столе. Затем, когда вам необходимо выполнить указанную операцию, будет достаточно кликнуть по ярлыку, и команда будет выполнена.

Для осуществления этой операции выполните следующее:


Заключение

Команда shutdown позволяет выполнять необходимые операции для выключения и перезагрузки вашего компьютера. Если же функционал данного инструмента вас не устроил, тогда можно обратиться к возможностям таких программ как «Таймер выключения», «Time PC», «Shutdown Scheduler» и других аналогов, позволяющих выключить ПК в заданное вами время.

Вконтакте

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

Казалось бы, это утверждение касается только систем Linux, где управление командной строкой - самый развитый и традиционный способ. Но это стереотип. Ведь Windows на базе NT обладает практически теми же средствами администрирования, что и Unix, только команды называются немного по-другому. Например, если перезагрузка из командной строки в Linux может быть выполнена простым reboot, то в Windows надо набирать команды с параметрами.

Существует даже не один способ "попросить" систему перезагрузиться! Самый очевидный - использование утилиты shutdown.exe. Простая перезагрузка с ее помощью делается так - shutdown -r -t 0. Это значит приказать системе немедленно перезагрузиться. Многочисленные параметры, назначение которых подробнее можно узнать, запустив команду shutdown с ключом "-?", позволяют выводить пользователю табличку с предупреждением. Например, вариация команды shutdown.exe -r -t 60 -c. Профилактическая перезагрузка через 60 секунд выведет эту табличку на экран и создаст небольшую задержку в одну минуту, которая позволит пользователю сохранить документы. Следует отметить, что комментарий ограничен - можно задать не более 127 символов.

Перезагрузка из командной строки может быть запущена с ключом "-f", тогда приложения будут завершены принудительно, без предупреждения. Часто встречается ситуация, когда вы на ходу раздумываете, перезагружать ли ПК. Пока не поздно - укажите команду shutdown с ключом -a, что отменит перезагрузку.

Помимо штатной утилиты, которой может быть выполнена перезагрузка из командной строки, есть и другие способы, некоторые из них самобытны, но многие пришли именно из Unix-систем. Одна из таких команд - явно по мотивам систем Linux. Смотрите, как изощренно может быть исполнена перезагрузка Windows из командной строки: ping -n seconds 127.0.0.1>nul&wmic OS WHERE Primary="TRUE" CALL Win32Shutdown 6.

Обратите внимание, что используется значок перенаправления, еще есть упоминание nul. Естественно, вместо -n seconds надо указать то количество, через которое планируется сделать рестарт.

Одна из основ управления Windows - процесс rundll32.exe, являющийся хостовым. С его помощью подгружаются в библиотеки. У этой программы есть командный интерфейс, позволяющий оперировать с элементами графического. С его помощью также может быть выполнена перезагрузка из командной строки: undll32 user.exe,ExitWindowsExec 2.

Выше приведен самый простой способ перезагрузиться посредством rundll32, работающий на всех системах.

Можно использовать и обычный вызов диалога завершение работы: undll32 msgina,ShellShutdownDialog. Или сразу выключить ПК: RUNDLL.EXE user.exe,ExitWindows.

Есть и команды, работающие далеко не на всех системах, а только на XP до SP2. При этом используется элемент конвейера (|), что характерно для систем под управлением Unix: echo y|net stop eventlog.

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

Но и перечисленными командами дело не ограничивается. Для перезагрузки можно использовать скрипты на Visual Basic (VBS), утилиты смежных Microsoft компаний. К примеру, psshutdown из комплекса Ps Tools, являющаяся, по сути, усовершенствованным shutdown. Наберите в консоли следующую команду: psshutdown -r -f -t 30. Это позволит перезагрузить локальный или удаленный ПК в течение 30 секунд.

Удаленная перезагрузка из командной строки, скажем, с производится командой psshutdown -r comp1, где comp1 - название ПК, их можно перечислить через запятую. Было бы неплохо оповестить пользователей о перезагрузке. Для этого в psshutdown используется ключ -m. Штатная команда для перезагрузки удаленных ПК - tsshutdn.

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

Разработчиком операционной системы Windows предусмотрена возможность по расписанию. Как таковой, кнопки выключения с указанием параметров не существует. Для этого нужно воспользоваться командной строкой и другими штатными (встроенными) средствами Windows . Этот способ особенно хорош тем, что работает всегда и везде, поскольку разработан и предусмотрен непосредственно самим разработчиком операционной системы. Проверено на Windows XP, Windows 7, Windows 8.1

Кому не интересна теория, могут сразу перейти в разделы:
-
-

Выключение или перезагрузка компьютера по расписанию
(в заданное время) штатными (встроенными) средствами Windows

по расписанию
(в заданное время) из командной строки (MS DOS)

С незапамятных времён, в комплект поставки всех операционных систем семейства MS Windows входит дисковая операционная система (сокращённо - MS DOS ), которая не имеет привычного пользовательского интерфейса для «бацанья» по нём мышкой. Управление MS DOS производится методом клавиатурного введения набора текстовых команд в специальном окне, в так называемой командной строке . Командная строка работает на любом компьютере, находящимся под управлением любой модификации операционной системы MS Windows.

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

Командную строку можно вызвать одним из способов:

  • нажать комбинацию клавиш Win+R , ввести cmd.exe , нажать ОК
  • «Меню Пуск > Выполнить», ввести cmd.exe , нажать ОК
  • «Меню Пуск > Все программы > Стандартные > Командная строка»

В любом случае, откроется окно MS DOS
(командная строка для ввода текстовой команды)
Именно в ней (в командной строке) мы будем:

  1. включать и выключать обратного отсчёта ДО
    выключения или перезагрузки компьютера
    (т.е. указывать, через сколько времени произвести действие)
  2. назначать и отменять точное ДЛЯ
    выключения или перезагрузки компьютера
    (т.е. указывать, когда именно произвести действие)

Все манипуляции сводятся к обращению к файлу shutdown.exe
и указанию нужных параметров

Параметры и синтаксис команды shutdown
(для обращения к файлу shutdown.exe)

Файл shutdown.exe отвечает за выключение операционной системы Windows , её перезагрузку и т.д. Для получения перечня параметров запуска файла shutdown.exe из командной строки - жмём сочетание клавиш Win+R , в открывшемся окне вводим cmd.exe (переходим в MS DOS) и уже в DOS-овском окне (вручную) вводим «shutdown /? » (без кавычек). Жмём «OK» (клавиша «Enter»). В ответ система выдаст полный перечень параметров команды shutdown :

Что касается синтаксиса параметров для команды shutdown , то MS DOS понимает оба варианта записи - и через дефис (знак минус «- » на цифровой клавиатуре) и через слеш (косую черту на цифровой клавиатуре):

  1. shutdown /s /f /t 2000 равносильно shutdown -s -f -t 2000
  2. at 23:15 shutdown /r /f равносильно at 23:15 shutdown -r -f

В нашем случае, принципиальной разницы между слешем и дефисом нет. Гораздо важнее помнить о расстановке пробелов (space). Поскольку, в понимании операционной системы, слеш равен дефису с пробелом , то без пробела - может не работать.

Для примера, на скриншоте вверху, я по очереди вводил команды «shutdown-? » и «shutdown -? », а также «shutdown/? » и «shutdown /? ». Ответ системы очевиден.

Упрощённый ввод команды shutdown
(окно «Выполнить»)

Чтобы включить или выключить таймер обратного отсчёта - открываем окно «Выполнить» (Win+R ОК .

Время до выключения (перезагрузки) компьютера нужно вводить в секундах.

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

Реакция системы на команду выключить или перезагрузить компьютер через 33мин = 2000 секунд
Реакция системы на команду по отмене команды на выключение или перезагрузку компьютера

За 10 минут до выполнения задачи, система начинает напоминать об скором окончании обратного отсчёта. Форма напоминания может иметь несколько вариантов. Наверное, зависит от версии Windows и стиля оформления.

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

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

Установка точного времени текущей даты из позволяет назначить точное время текущей даты для выключения или перезагрузки компьютера. Такая задача будет выполнена только ОДИН раз, после чего процедуру назначения задачи нужно будет повторить. Если нужно, чтобы компьютер систематически выключался по расписанию (в одно и то же время), то тогда нужно использовать или

Чтобы установить точное время текущей даты для выключения или перезагрузки компьютера - открываем окно «Выполнить» (Win+R ), вводим нужную команду и жмем ОК .

Время выключения (перезагрузки) компьютера нужно вводить в указанном формате.
Значения времени, естественно - у каждого своё.

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

Из командной строки удобно создавать ОДНОРАЗОВОЕ задание для выключения или перезагрузки компьютера. Если требуется систематическое выключение компьютера по расписанию (например - в заданное время, в конце рабочего дня), то тогда нужно установить время выключения через или через

Выключение и перезагрузка компьютера
с помощью исполнительного (пакетного) файла

Исполнительные (пакетные) файлы с расширением .bat () значительно облегчают работу с командной строкой. Единожды создав такой bat-файл с текстом нужной команды, можно выполнять её простым кликом по батнику, без утомительного вызова окна командной строки и ввода в него текста команды.

Вспомним список наших команд и создадим соответствующие батники:

  1. shutdown /s /f /t 2000 или shutdown -s -f -t 2000
    (выключить компьютер через 33мин = 2000 секунд)
  2. shutdown /r /f /t 2000 или shutdown -r -f -t 2000
    (перезагрузить компьютер через 33мин = 2000 секунд)
  3. at 23:15 shutdown /s /f или at 23:15 shutdown -s -f
    (выключить компьютер сегодня, в 23:15)
  4. at 23:15 shutdown /r /f или at 23:15 shutdown -r -f
    (перезагрузить компьютер сегодня, в 23:15)
  5. shutdown /a или shutdown -a
    (отменить команду на выключение/перезагрузку компьютера)

Чтобы создать исполнительный (пакетный) батник - открываем блокнот, копируем (пишем) в него нужную строку команды и сохраняем файл с расширением.bat. Для примера создадим два файла - файл «Выключение.bat» и файл «Отмена.bat». В первый файл запишем строку «shutdown /s /f /t 2000 » (без кавычек), во второй - строку «shutdown /a » (без кавычек). Клик по первому файлу будет давать команду на выключение компьютера через 33мин = 2000 секунд. Клик по второму файлу будет отменять команду на выключение компьютера через 33мин = 2000 секунд. Таким образом, мы получим два файла, кликая по которым будем иметь тот-же эффект, что и в случае вызова со вводом в неё нужной команды.

Все очень просто, и - это гораздо удобнее, чем командная строка. К тому-же, этот способ даёт простор для полёта фантазии и творческой мысли. Например, можно задать таймаут в 28800 сек. (28800 сек = 8 часов = длина рабочего дня), положить файл «Выключение.bat» в папку автозагрузки компьютера и уже не беспокоиться о его выключении в конце рабочего дня. Потому что, каждый раз, при загрузке системы, она будет получать команду на своё выключение через 8 часов = 28800 сек. Тот же эффект даст исполнительный.bat-файл в автозагрузке, с содержанием «at 17:00 shutdown /s /f » (без кавычек). При чем, эта команда даже предпочтительней, поскольку устанавливает точное время выключения компьютера и не зависит от количества перезагрузок в течение рабочего дня.

Прикол. Если задать в bat-файле, в папке автозагрузки, таймаут 180 сек., то тогда - комп будет выключаться через 3 мин после своего запуска.

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

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

Чтобы настроить выключение или перезагрузку компьютера в заданное время через планировщик заданий - открываем планировщик заданий. Он находится в «Меню Пуск > Все программы > Стандартные > Служебные > Планировщик заданий»

Затем, в открывшемся окне пишем имя задачи и её описание. Здесь можно писать все, что душе угодно. Имя задачи и её описание будет потом отображаться в средней колонке планировщика после создания задачи. Я написал имя - «Выключение», описание - «Выключить компьютер» и нажал кнопку «Далее»...

В следующем открывшемся окне нужно выбрать периодичность выполнения задачи. Я выбрал - «Ежедневно». «Далее»...

В следующем открывшемся окне нужно указать дату, с которой начать выполнение задачи и время её выполнения. По-умолчанию, отсвечивают текущие значения даты и времени. Дату можно оставить без изменения (начать сегодня), а вот время нужно поставить своё. Это будет требуемое время выключения компьютера. Я поставил 17:00:00, что соответствует окончанию моего рабочего дня. Строку «Повторять каждые 1 дн.» - оставил без изменения. «Далее»...

В следующем открывшемся окне нужно установить переключатель (чекбокс) против слов «Запустить программу». «Далее»...

В следующем открывшемся окне, в строке «программа или сценарий» вводим команду «shutdown » (без кавычек), а в поле «добавить аргументы» «-s -f » (без кавычек) - для выключения. Если нужно перезагрузить компьютер, то тогда в поле «добавить аргументы» вводим «-r -f » (без кавычек). «Далее»...

Жмём кнопку «Готово». Задача на ежедневное выключение компьютера в 17:00 - создана и запущена. Проверить работу или удалить задание можно следующим образом. Запускаем планировщик, нажимаем на «Библиотека планировщика заданий» и в среднем столбике находим нужное задание (по имени). Правой кнопкой мышки кликаем по нему и в выпадающем меню выбираем нужное.

Для проверки я кликнул на «Выполнить». Компьютер отреагировал мгновенно. Работает, ура!

Выключение компьютера
Выключение компьютера из командной строки

Утилита командной строки shutdown является встроенной командой Windows, которая позволяет перезагрузить, выключить компьютер, перевести его в спящий режим или завершить сеанс пользователя. В этой инструкции мы покажем основные примеры использования команды shutdown в Windows (все рассмотренные команды запускаются в окне Выполнить — Win+R ->, в командной строке cmd.exe или в консоли PowerShell).

Команда shutdown имеет следующий синтаксис:

shutdown xx:yy ]

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

Выключение 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. Например, для немедленной перезагрузки компьютера:

shutdown /r /t 0

Очень важный ключ /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.

$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

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

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

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

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

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

Графическая оболочка

На самом деле "проблема" решается не просто, а очень просто. Выйдя на рабочий стол достаточно нажать Alt+F4 чтобы получить стандартный диалог завершения работы.

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

Беда в том, что этого экрана через RDP вы уже не увидите. Да и открытые приложения - это полбеды, хуже, когда систему не дает выключить или перезагрузить зависшее приложение. В этом случае придется искать иные методы.

Командная строка

Как обычно, если графические инструменты не помогают, на помощь администратору приходит командная строка. Для того, чтобы управлять питанием компьютера с ее помощью не надо обладать особыми знаниями, достаточно запомнить одну простую команду. Нажмите Win+R или Пуск - Выполнить и введите следующие команды:

Shutdown -s -f -t 0

для выключения

Shutdown -r -f -t 0

для перезагрузки.

Разберем ключи команды подробнее:

  • s - выключение компьютера
  • f - принудительное завершение мешающих перезагрузке процессов
  • t - время, через которое завершение работы будет выполнено, указывается в секундах через пробел. Если данный параметр не используется команда будет выполнена через 60 секунд.

Утилита PsShutdown от Sysinternals

Если штатные возможности вас по какой-либо причине не устраивают, то можно воспользоваться альтернативой - утилитой PsShutdown от Sysinternals. Разместите скачанный файл в любом удобном месте, лучше всего в одном из указанных в переменной PATH, либо добавьте туда ее расположение, это позволить запускать ее по короткому имени, без указания пути. Синтаксис утилиты похож на синтаксис стандартной, но есть некоторые отличия, так для выключения выполните:

Psshutdown -k -f -t 0

а для перезагрузки:

Psshutdown -r -f -t 0

Поясним используемые ключи:

  • k - выключение системы
  • f - принудительное завершение процессов
  • t - время выполнения команды

Если вместо ключа -k использовать для выключения ключ -s , то система завершит работу без выключения питания, старожилы должны хорошо помнить:

Кроме того, данная утилита позволяет управлять питанием других ПК по сети. Если честно, то работать по сети умеет и штатная утилита shutdown, достаточно указать ключ:

M \\computer

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

PsShutdown данного недостатка лишена и позволяет указывать учетные данные для подключения к удаленному ПК, например:

Psshutdown \\computer -u username -p password -r -f -t 0

Данная команда выполнит перезагрузку удаленного ПК computer использовав для подключения имя username и пароль password . Следует помнить, что указанный вами пользователь должен иметь права доступа к административному ресурсу ADMIN$ . В среде Active Directory этим правом обладает администратор домена, а вот в одноранговой сети могут возникнуть затруднения.

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

Это свидетельствует о том, что данный пользователь не имеет доступа к ресурсу ADMIN$ . Чтобы его включить нужно выполнить два условия: включить общий доступ к файлам и принтерам

А затем в ветвь реестра

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System

добавить параметр типа DWORD с именем

LocalAccountTokenFilterPolicy

и установить его значение равным 1. После этого компьютер потребуется перезагрузить.

Попробуем снова выключить его удаленно.

Как видим в этот раз команда отработала успешно.

PowerShell

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

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

Stop-Computer -Force

А для перезагрузки:

Restart-Computer -Force

Ключ -Force в данном случае аналогичен ключу -f команды shutdown и предполагает принудительное завершение работы мешающих выключению приложений.

Также PowerShell можно использовать для управления питанием по сети, например, можно выключить удаленный ПК командой:

Stop-Computer -ComputerName computer -Credential username -Force

Где ключи:

  • ComputerName - имя удаленного компьютера, допускается перечисление нескольких имен через запятую
  • Credential - имя учетной записи для аутентификации в удаленной системе

При этом работа через PowerShell более безопасна, так как пароль не вводится открытым текстом и не остается в истории команд. Для аутентификации используются стандартные механизмы ОС.

Как видим, для управления питанием в ОС Windows доступны самые разнообразные инструменты - на любой вкус и цвет. При этом все они доступны внутри терминальной сессии, какой из них использовать - дело личного вкуса и предпочтений.

  • Теги:

Please enable JavaScript to view the