Команда спящий режим в windows 10 cmd

Хотя в Windows 10 можно легко выйти из системы, выключить, перезагрузить или перевести компьютер в спящий режим из меню Пуск или с экрана блокировки, в системе также есть инструмент shutdown.exe — он позволяет выполнять те же самые операции через командную строку.

Хотя в Windows 10 можно легко выйти из системы, выключить, перезагрузить или перевести компьютер в спящий режим из меню Пуск или с экрана блокировки, в системе также есть инструмент shutdown.exe — он позволяет выполнять те же самые операции через командную строку.

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

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

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

Как выключить компьютер с помощью команды shutdown

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

  1. Откройте Пуск.
  2. Найдите Командную строку, щелкните правой кнопкой мыши верхний результат и выберите Запуск от имени администратора.
  3. Введите следующую команду, чтобы выключить устройство через одну минуту, и нажмите Enter:
    shutdown /s
  4. Введите следующую команду, чтобы выключить устройство через определенное время, и нажмите Enter:
    shutdown /s /t TIME
    В команде замените TIME на необходимое время ожидания перед выключением в секундах.
    Например, эта команда выключает компьютер через пять секунд:
    shutdown /s /t 5
    На заметку: также можно указать 0 для немедленного выключения. Если время больше нуля, то опция /f будет применена автоматически.
  5. Введите следующую команду, чтобы выключить компьютер без ожидания или предупреждения, и нажмите Enter:
    shutdown /p
  6. Введите следующую команду для завершения работы с принудительным закрытием всех приложений без предупреждения и нажмите Enter:
    shutdown /s /f

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

Выключение с указанием причины

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

  1. Откройте Пуск.
  2. Найдите Командную строку, щелкните правой кнопкой мыши верхний результат и выберите Запуск от имени администратора.
  3. Введите следующую команду, чтобы указать причину завершения работы, и нажмите Enter:
    shutdown /s /d p:MAJOR-NUMBER:MINOR-NUMBER
    В команде измените MAJOR-NUMBER:MINOR-NUMBER на номерное обозначение причины. Вы можете узнать все доступные номера основных и второстепенных причин, выполнив команду shutdown/? .
    Например, эта команда завершает работу устройства, записывая причину Операционная система: пакет обновления (запланированный):
    shutdown /s /t 1 /d p:2:16
    Также можно переключить параметр /s на параметр /r, если вы хотите указать причину перезапуска в команде. Это делается следующим образом:
    shutdown /r /t 1 /d p:2:16
  4. Введите следующую команду для выключения компьютера с указанием причины как незапланированной и нажмите Enter:
    shutdown /s /t 1 /d u:2:16
    Приведенная выше команда выключит устройство, записав причину Операционная система: пакет обновления (незапланированный).

После выполнения этих шагов Windows 10 завершит работу и зарегистрирует указанную причину.

Журнал завершения работы всегда можно просмотреть в следующем расположении: Просмотр событий > Журналы Windows > Система. Там нужно найти событие Информация с источником User32 и с Идентификатором события 1074.

Завершение работы с кастомным диалоговым сообщением

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

  1. Откройте Пуск.
  2. Найдите Командную строку, щелкните правой кнопкой мыши верхний результат и выберите Запуск от имени администратора.
  3. Введите следующую команду, чтобы выключить устройство с показом сообщения, и нажмите клавишу Enter:
    shutdown /s /t TIME /c «MESSAGE»
    В команде замените TIME на количество секунд до выключения компьютера и замените MESSAGE пользовательским текстом, который хотите отобразить.
    Например, эта команда отображает текст «Обновление приложения компании XYZ» перед выключением компьютера через одну минуту:
    shutdown /s /t 60 /c «Обновление приложения компании XYZ»
    Также можно переключить параметр /s на параметр /r, если вы хотите указать причину перезапуска в команде. Это делается следующим образом:
    shutdown /r /t 60 /c «Обновление приложения компании XYZ»

После выполнения этих шагов Windows 10 отобразит пользователю сообщение «Обновление приложения компании XYZ» и выключит компьютер через 60 секунд.

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

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

Настройка удаленного устройства

Предупреждение: напомним, что редактирование Реестра довольно рискованно и может привести к непоправимым повреждениям системы, если вы что-то сделаете неправильно. Советуем сделать резервную копию прежде, чем продолжать.

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

  1. Откройте Пуск.
  2. Найдите Командную строку, щелкните правой кнопкой мыши верхний результат и выберите Запуск от имени администратора.
  3. Введите следующую команду, чтобы отключить Контроль учетных записей пользователей для удаленного выполнения команд, и нажмите Enter:
    reg add HKLMSoftwareMicrosoftwindowsCurrentVersionPoliciessystem /v LocalAccountTokenFilterPolicy /t REG_DWORD /d 1 /f

После выполнения этих шагов устройство будет открыто для удаленного приема команд от аутентифицированных пользователей.

Если вы хотите отменить изменения для повышения безопасности устройства, можно воспользоваться инструкциями, описанными выше, но на шаге № 3 выполнить следующую команду:
reg add HKLMSoftwareMicrosoftwindowsCurrentVersionPoliciessystem /v LocalAccountTokenFilterPolicy /t REG_DWORD /d 0 /f.

Выключение удаленного устройства

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

  1. Откройте Пуск.
  2. Найдите Командную строку, щелкните правой кнопкой мыши верхний результат и выберите Запуск от имени администратора.
  3. Введите следующую команду для подключения к IPC$ (или null-сессии) и нажмите Enter:
    net use \REMOTE-PCipc$
    В команде замените REMOTE-PC на имя или IP-адрес удаленного компьютера.
    Например, эта команда подключается к компьютеру Office-PC:
    net use \Office-PCipc$
  4. Подтвердите имя учетной записи, расположенной на удаленном устройстве, и нажмите Enter.
  5. Подтвердите пароль учетной записи и нажмите Enter.
  6. Введите следующую команду для перезагрузки удаленного компьютера и нажмите Enter:
    shutdown /r /m \REMOTE-PC /t TIME /c «COMMENT» /f
    В команде замените REMOTE-PC на имя или IP-адрес удаленного компьютера, TIME — на количество секунд ожидания перед началом процесса завершения работы, а COMMENT — на кастомное сообщение, которое высветится пользователю.
    Например, эта команда уведомит пользователя и перезагрузит его устройство под названием Office-PC, закрыв все приложения без предупреждения через одну минуту:
    shutdown /r /m \Office-PC /t 60 /c «Этот компьютер перезагрузится через одну минуту» /f
    Если никто в данный момент компьютер не использует, можно отправить команду, которая немедленно перезапустит устройство. Например:
    shutdown /r /m \Office-PC /t 0 /f

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

Если вы хотите отключиться от IPC$, выполните следующую команду:
net use * /delete
и нажмите Y для подтверждения. Если вы планируете использовать эту команду, может потребоваться переназначить ранее подключенные сетевые диски.

Как перезагрузить компьютер с помощью команды shutdown

Чтобы перезагрузить устройство Windows 10 с помощью командной строки, выполните следующие действия:

  1. Откройте Пуск.
  2. Найдите Командную строку, щелкните правой кнопкой мыши верхний результат и выберите Запуск от имени администратора.
  3. Введите следующую команду для перезагрузки компьютера и нажмите Enter:
    shutdown /r
  4. Введите следующую команду, чтобы перезагрузить устройство через определенное время, и нажмите Enter:
    shutdown /r /t TIME
    В команде замените TIME на необходимое время ожидания перед перезагрузкой в секундах.
    Например, эта команда перезагружает компьютер через пять секунд:
    shutdown /r /t 5
    На заметку: также можно указать 0 для немедленной перезагрузки.
  5. Введите следующую команду, чтобы перезагрузить компьютер без ожидания или предупреждения, и нажмите Enter:
    shutdown /r /p
  6. Введите следующую команду для завершения работы с принудительным закрытием всех приложений без предупреждения и нажмите Enter:
    shutdown /r /f

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

Как завершить сеанс с помощью команды shutdown

Инструмент shutdown также дает возможность выхода пользователя, но только для локального компьютера и только текущего сеанса. Нельзя выйти из системы за других пользователей на удаленном устройстве.

Чтобы выйти из учетной записи Windows 10 с помощью командной строки, проделайте следующее:

  1. Откройте Пуск.
  2. Найдите Командную строку, щелкните правой кнопкой мыши верхний результат и выберите Запуск от имени администратора.
  3. Введите следующую команду, чтобы завершить текущий сеанс, и нажмите Enter:
    shutdown /L

После выполнения этих шагов текущий пользователь выйдет из системы.

Как перевести компьютер в спящий режим с помощью команды shutdown

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

  1. Откройте Пуск.
  2. Найдите Командную строку, щелкните правой кнопкой мыши верхний результат и выберите Запуск от имени администратора.
  3. Введите следующую команду для перехода компьютера в спящий режим и нажмите Enter:
    shutdown /h

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

Как загрузиться в режиме прошивки с помощью команды shutdown

Инструмент командной строки также включает в себя возможность запуска компьютера в UEFI и BIOS без дополнительных шагов.

Чтобы запустить устройство в интерфейсе UEFI или BIOS, проделайте следующее:

  1. Откройте Пуск.
  2. Найдите Командную строку, щелкните правой кнопкой мыши верхний результат и выберите Запуск от имени администратора.
  3. Введите следующую команду для перезагрузки компьютера и нажмите Enter:
    shutdown /r /fw
  4. Введите следующую команду, чтобы выключить компьютер и загрузить в режиме прошивки во время следующего запуска, и нажмите Enter:
    shutdown /s /fw
    Также можно использовать параметр /p вместо параметра /s, чтобы закрыть все запущенные приложения и принудительно завершить работу без предупреждения.

После выполнения этих шагов компьютер загрузится в интерфейсе прошивки.

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

Расширенные параметры загрузки — это среда, которая включает в себя различные инструменты для устранения неполадок Windows 10. Хотя для доступа к этим инструментам можно использовать Настройки или USB-носитель, это можно сделать и с помощью команды shutdown.

Чтобы запустить компьютер в среде Расширенных параметрах загрузки, проделайте следующее:

  1. Откройте Пуск.
  2. Найдите Командную строку, щелкните правой кнопкой мыши верхний результат и выберите Запуск от имени администратора.
  3. Введите следующую команду и нажмите Enter:
    shutdown /r /o
  4. Введите следующую команду, чтобы выключить компьютер и загрузить его в режиме Расширенных параметров загрузки во время следующего запуска, и нажмите Enter:
    shutdown /s /o
    Также можно использовать параметр /p вместо параметра /s, чтобы закрыть все запущенные приложения и принудительно завершить работу без предупреждения.

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

Как прервать операцию выключения компьютера с помощью команды shutdown

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

Чтобы прервать завершение работы, выполните следующие действия:

  1. Откройте Пуск.
  2. Найдите Командную строку, щелкните правой кнопкой мыши верхний результат и выберите Запуск от имени администратора.
  3. Введите следующую команду для прерывания процесса выключения и нажмите Enter:
    shutdown /a /m \REMOTE-PC
    В команде замените REMOTE-PC на имя или IP-адрес удаленного компьютера.
    Например, эта команда прерывает завершение работы на удаленном компьютере под названием Office-PC:
    shutdown /a /m \Office-PC

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

В этом руководстве мы сфокусировались только на Windows 10, но инструмент Командной строки доступен и на более ранних версиях системы, например, Windows 8.x или даже Windows 7, но в этом случае его возможности ограничены. Например, опции /o и /hybrid доступны только начиная с Windows 8.

В Windows доступно несколько команд, которые позволяют выключить или перезагрузить локальный или удаленный компьютер. В этой статье мы рассмотрим, как использовать команду shutdown и PowerShell командлеты Restart-Computer и Stop-Computer для выключения/перезагрузки Windows.

Содержание:

  • Использование команды shutdown в Windows
  • Перезагрузка удаленных компьютеров командой shutdown
  • Перезагрузка и выключение Windows с помощью PowerShell

Использование команды 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 "комментарий"]]

команда shutdown синтаксис

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

Выключение Windows командой Shutdown

Для выключения ОС Windows и компьютера необходимо использовать команду shutdown с ключом /s.

shutdown /s

Перезагрузка Windows

Чтобы перезагрузить компьютер, необходимо добавить параметр /r. После выполнения этой команды Windows корректно перезагрузится.

shutdown /r

shutdown /r - перезагрузка компьютера

Завершение сеанса пользователя

Чтобы завершить текущую сессию пользователя (logout), нужно выполнить команду:

shutdown /l

shutdown /l завершение сенаса пользоватеоя

Эта команда аналогично выполнению команды logoff.

Перевод компьютера в режим гибернации

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

shutdown /h

Перезагрузка компьютера с сообщением пользователям

Вы можете предупредить всех пользователей Windows о предстоящем выключении / перезагрузки компьютера или сервера, отправив сообщение во все активные сессии (как правило эта возможность используется на терминальных RDS серверах, за которыми одновременно работают несколько пользователей, каждый в своей собственной RDP сессии).

shutdown /r /c “Этот сервер будет перезагружен через 60 секунд.”

Отложенное выключение / перезагрузка компьютера

Можно выключить или перезагрузить компьютер с определенной задержкой (по таймеру). С помощью опции /t можно указать интервал времени (в секундах), через который ПК/сервер будет перезагружен или выключен. Тем самым вы можете предоставить пользователям дополнительное время для того, чтобы успеть сохранить открытые файлы и корректно закрыть приложения. Эту опцию удобно использовать совместно с отправкой сообщения. В этом примере мы указываем, что Windows будет выключена через 10 минут (600 секунд) и информируем пользователей сообщением.

shutdown /s /t 600 /c "Сервер будет выключен через 10 минут. Сохраните свои документы!"

Пользователю будет выдано предупреждение о запланированном выключении: Ваш сеанс будет завершен.

shutdown - Ваш сеанс будет завершен.

Если задержка очень длительная, например, 100 минут (6000 секунд), то вместо предупреждающего окна появляется всплывающее сообщение в нижнем правом углу экрана: «Ваш сеанс будет завершен. Работа Windows будет завершена через 100 мин».

Работа Windows будет завершена через 100 мин

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

После запуска команды выключения или перезагрузки Windows, по умолчанию утилита shutdown ожидает 60 секунд, не выполняя никаких действия. Администратор может отменить перезагрузку или выключение устройства, если в течении этого времени успеет выполнить команду:

shutdown /a

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

shutdown /a - отмена перезагрузки Выход из системы отменен

Перезагрузить Windows немедленно

Чтобы выключить или перезагрузить компьютер немедленно, не ожидая стандартные 60 секунд, нужно указать значение 0 для параметра /t. Например, для немедленной перезагрузки компьютера:

shutdown /r /t 0

Очень важный ключ /f. Я использую его практически всегда при выключении или перезагрузки серверов Windows. Данный атрибут обеспечивает принудительное завершение всех запущенных программ и процессов, не ожидая подтверждения от пользователя (не будем же мы ждать подтверждения закрытия программ от всех пользователей на терминальном сервере, его можно просто не дождаться).

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

shutdown /g

Ярлык для перезагрузки компьютера

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

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

Перезагрузка Windows в определенное время

Чтобы всегда перезагружать/выключать компьютер или сервер в определенное время, вы можете добавить команду shutdown в планировщик заданий Windows taskschd.msc.

Например, следующее задание планировщика будет ежедневно перезагружать компьютер ночью в 0:00.

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

Либо вы можете создать новое задание планировщика из PowerShell:

$Trigger= New-ScheduledTaskTrigger -At 00:00am -Daily
$User= "NT AUTHORITYSYSTEM"

$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

Перезагрузка удаленных компьютеров командой shutdown

Вы можете перезагрузить удаленный компьютер по сети, для этого у вас должен быть к нему сетевой доступ, а учетная запись, из-под которой запускается команда shutdown должна входить в группу локальных администраторов на удаленном компьютере (сервере):

shutdown /r /t 120 /m \192.168.1.100

shutdown /r //m - перезагрузка удаленного компьютера

Если все указанные условия выполняются, но при выполнении команды shutdown появляется ошибка ”Отказано в доступе (5)”, на удаленном компьютере нужно разрешить удаленный доступ к административным ресурсам (C$, ADMIN$), изменив значение параметра LocalAccountTokenFilterPolicy на 1.

reg add "HKLMSOFTWAREMicrosoftWindowsCurrentVersionPoliciesSystem" /v "LocalAccountTokenFilterPolicy" /t REG_DWORD /d 1 /f

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

net use \192.168.31.10 /u:corpusername
shutdown /s /t 60 /f /m \192.168.31.10

Если вам необходимо удаленно перезагрузить множество компьютеров, их список можно сохранить в текстовый файл и запустить удаленную перезагрузку всех компьютеров с помощью такого PowerShell скрипта:

$sh_msg = "Ваш компьютер будет автоматически перезагружен через 10 минут. Сохраните свои файлы и закройте запущенные программы"
$sh_delay = 600 # секунд
$computers = gc C:PSPC-list.txt
foreach ($comp in $computers)
{
& 'C:WindowsSystem32SHUTDOWN.exe' "-m \$comp -r -c $sh_msg -t $sh_delay"
}

Графический интерфейс команды shutdown

Для тех, кому не комфортно работать в командной строке, есть графический интерфейс для команды shutdown, чтобы его вызвать, наберите:

shutdown /i

shutdown /i - графический интерфейс команды shutdown

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

Перезагрузка и выключение Windows с помощью PowerShell

В PowerShell есть две команды для выключения и перезагрузки компьютера: Restart-Computer и Stop-Computer. Обе команды позволяют выключить или перезагрузить локальный или удаленный компьютер по сети.

powershell команда Restart-Computer

Для перезагрузки Windows выполните:

Restart-Computer -force

Чтобы выключить компьютер:

Stop-Computer

По умолчанию перезагрузка начнется через 5 секунд. Можно увеличить задержку перед перезагрузкой:

Restart-Computer –delay 15

У обоих командлетов есть параметр
–ComputerName
, который позволяет задать список удаленных компьютеров.

Например, чтобы удаленно выключить два сервера Windows:

Stop-Computer -ComputerName "Server01", "Server02"

Можно указать учетные данные администратора для подключения к удаленному хосту:

$Creds = Get-Credential
Restart-Computer -ComputerName $Names -Credential $Creds

Для подключения к удаленным компьютерам используется WMI и DCOM (он должны быть включен и настроен). Если WMI не настроен, при запуске команды появится ошибка:

Restart-Computer : Failed to restart the computer wks-t1122h2 with the following error message: 
Access is denied.
Exception from HRESULT: 0x80070005 (E_ACCESSDENIED).

restart-computer ошибка при удаленной перезагрузке компьютера по сети 0x80070005

Если на удаленном компьютере настроен WinRM (Windows Remote Management), вы можете использовать для подключения WSman вместо WMI:

Restart-Computer -ComputerName wks-t1122h2 -Protocol WSMan

Если на удаленном компьютер есть активные сессии пользователей, при запуске Restart-Computer появится ошибка:

Restart-Computer : Failed to restart the computer wks-t1122h2 with the following error message:
The system shutdown cannot be initiated because there are other users logged on to the computer.

Restart-Computer на удаленном компьютере есть активный пользователь

Для принудительной перезагрузки нужно добавить параметр -Force:

Restart-Computer -ComputerName wks-t1122h2 –Force

С помощью параметра -For можно перезагрузить компьютер и дождаться, когда он будет доступен. Например, вы хотите убедиться, что удаленный компьютер успешно перезагрузится и на нем стартовала служба WinRM, позволяющая подключиться к нему через WS-Management:

Restart-Computer -ComputerName wks-t1122h2 -Wait -For WinRM

Restarting computer wks-t1122h2
Verifying that the computer has been restarted.

Удаленная перезагрузка компьютера из powershell

Можно дождаться запуска службы удаленного рабочего стола (RDP) или любой другой службы Windows:

Restart-Computer -ComputerName wks-t1122h2 -Wait -For TermService

Если нужно одновременно перезагрузить несколько хостов, можно использовать возможности параллельного запуска команд в версии PowerShell 7.x.

Например, вы можете получим список Windows Server в определенном контейнере (Organizational Unit) Active Directory с помощью командлета Get-ADComputer и перезагрузить их одновременно:

$Computers = (Get-ADComputer -Filter 'operatingsystem -like "*Windows server*" -and enabled -eq "true"' -SearchBase "OU=Servers,DC=winitpro,DC=loc").Name
$Computers | ForEach-Object -Parallel {    Restart-Computer -ComputerName $_ -Force} -ThrottleLimit 3

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

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

Включение спящего режима с помощью Rundll32.exe

Первый вариант предполагает использование программы Rundll32.exe. Это стандартная программа, которая входит в состав Windows 7 и Windows 10, и используется для выполнения функций, находящихся в DLL-файлах. Принцип работы Rundll32 очень прост. В нее передается название DLL-файла, название функции внутри DLL, а также параметры для выполнения. После этого Rundll32 выполняет указанную функцию и данного файла.

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

rundll32 powrprof.dll,SetSuspendState 0,1,0

спящий режим через Rundll32

Как видно, команда rundll32 запускает функцию SetSuspendState, которая находится в powrprof.dll. При этом в функцию передается три параметра (0, 1, 0). Больше информации о функции SetSuspendState можно получить на сайте Microsoft.

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

powercfg -hibernate off

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

  • Выключение компьютера через командную строку
  • Как перезагрузить компьютер через командную строку

Включение спящего режима с помощью PsShutdown

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

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

Для того чтобы перевести локальный компьютер в спящий режим с помощью PsShutdown нужно выполнить следующую команду:

psshutdown.exe -d -t 0

Где параметр «-d» активирует переход в спящий режим, а параметр «-t 0» выполняет команду немедленно (через 0 секунд).

спящий режим через PsShutdown

Обратите внимание, для того чтобы команда сработала, нужно указывать полный путь к файлу «psshutdown.exe». Например, если вы распаковали программу в папку «c:psshutdown», то полная команда будет выглядеть вот так:

c:psshutdownpsshutdown.exe -d -t 0

Возможно вам будет интересно:

  • Как отключить переход в спящий режим на Windows 11 и Windows 10

Посмотрите также:

  • Компьютер с Windows 10 сам выходит из спящего режима
  • Как отключить переход в спящий режим на Windows 11 и Windows 10
  • Выключение компьютера через командную строку
  • Как перезагрузить компьютер через командную строку
  • Как вызвать командную строку в Windows 7

Автор
Александр Степушин

Создатель сайта comp-security.net, автор более 2000 статей о ремонте компьютеров, работе с программами, настройке операционных систем.

Остались вопросы?

Задайте вопрос в комментариях под статьей или на странице
«Задать вопрос»
и вы обязательно получите ответ.

I have created a shortcut for rundll32.exe powrprof.dll,SetSuspendState 0,1,0 (also tried with 0,0,0), but running the shortcut seemed to put my PC into hibernation. I could not wake up the PC using the keyboard; I had to press the power button, and the PC showed the mainboard post messages, etc.

After reading the Windows API document, I created a very simple programme with just 3 lines of typing. I have uploaded the executable I compiled to this page (click the «SleepTest.exe»), but this file could be deleted after a while (this is a free file hosting site that I just found by a quick Google search).

If you do not trust me (which is totally fine) or the file has been deleted, you can compile the code yourself, Of course. You need to add «PowrProf.lib» to the additional dependencies of the Linker.

#include "stdafx.h"
#include "windows.h" <-- Added this to make it work on Windows.
#include "PowrProf.h" <-- Added this to use the sleep function.

int main()
{
    SetSuspendState(FALSE, FALSE, FALSE); <-- Added this actual call.
    return 0;
}

rundll32.exe powrprof.dll,SetSuspendState 0,1,0 seems to be doing the same thing, but somehow, the programme above did not put the computer into hibernation. I could wake up the PC instantly (no mainboard post messages, etc) by pressing any key on the keyboard.

I have created a shortcut for rundll32.exe powrprof.dll,SetSuspendState 0,1,0 (also tried with 0,0,0), but running the shortcut seemed to put my PC into hibernation. I could not wake up the PC using the keyboard; I had to press the power button, and the PC showed the mainboard post messages, etc.

After reading the Windows API document, I created a very simple programme with just 3 lines of typing. I have uploaded the executable I compiled to this page (click the «SleepTest.exe»), but this file could be deleted after a while (this is a free file hosting site that I just found by a quick Google search).

If you do not trust me (which is totally fine) or the file has been deleted, you can compile the code yourself, Of course. You need to add «PowrProf.lib» to the additional dependencies of the Linker.

#include "stdafx.h"
#include "windows.h" <-- Added this to make it work on Windows.
#include "PowrProf.h" <-- Added this to use the sleep function.

int main()
{
    SetSuspendState(FALSE, FALSE, FALSE); <-- Added this actual call.
    return 0;
}

rundll32.exe powrprof.dll,SetSuspendState 0,1,0 seems to be doing the same thing, but somehow, the programme above did not put the computer into hibernation. I could wake up the PC instantly (no mainboard post messages, etc) by pressing any key on the keyboard.

I have created a shortcut for rundll32.exe powrprof.dll,SetSuspendState 0,1,0 (also tried with 0,0,0), but running the shortcut seemed to put my PC into hibernation. I could not wake up the PC using the keyboard; I had to press the power button, and the PC showed the mainboard post messages, etc.

After reading the Windows API document, I created a very simple programme with just 3 lines of typing. I have uploaded the executable I compiled to this page (click the «SleepTest.exe»), but this file could be deleted after a while (this is a free file hosting site that I just found by a quick Google search).

If you do not trust me (which is totally fine) or the file has been deleted, you can compile the code yourself, Of course. You need to add «PowrProf.lib» to the additional dependencies of the Linker.

#include "stdafx.h"
#include "windows.h" <-- Added this to make it work on Windows.
#include "PowrProf.h" <-- Added this to use the sleep function.

int main()
{
    SetSuspendState(FALSE, FALSE, FALSE); <-- Added this actual call.
    return 0;
}

rundll32.exe powrprof.dll,SetSuspendState 0,1,0 seems to be doing the same thing, but somehow, the programme above did not put the computer into hibernation. I could wake up the PC instantly (no mainboard post messages, etc) by pressing any key on the keyboard.

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

Да, конечно, они удобны и просты, но зачем, спрашивается, захламлять свой компьютер сторонним программным обеспечением, если то же самое можно сделать средствами операционной системы? Если вы не в курсе, скриптовый язык классического командного интерпретатора позволяет переводить компьютер в режим сна как по требованию, так и по таймеру. За отправку компьютера в сон в Windows отвечает 10 функция SetSuspendState, «зашитая» в DLL-библиотеке powrprof.dll.

Вызвать функцию можно с помощью исполняемого файла Rundll32.exe, расположенного в каталоге System32.

А вот и команда вызова:

rundll32 powrprof.dll,SetSuspendState 0,1,0

Rundll32

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

Команду мы знаем, осталось сделать так, чтобы она выполнялась через заданное время.

Тут тоже всё просто: создайте Блокнотом текстовый файл, первой строкой вставьте в него команду timeout /t 600 /nobreak, а второй строкой rundll32 powrprof.dll,SetSuspendState 0,1,0. Число 600 условное, это количество секунд, через которое будет выполнена команда отправки ПК в сон.

Блокнот

Параметр /nobreak необязателен, он выводит в консоль диалог прерывания/паузы, а вообще отменить выполнение команды вы можете простым закрытием командной строки.

Сохраните файл с расширением CMD.

Сохраните файл

И запустите, дабы убедиться, что всё работает.

CMD

CMD

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

Скриптовый язык можно использовать не только для погружения компьютера в гибернацию по расписанию, но и для его выключения. Для этого в Windows 10 используется команда shutdown /s или shutdown /s /f. Замените ею вторую строку в созданном скрипте для отправки ПК в гибернацию и вот у вас уже есть скрипт для завершения работы Windows 10 по таймеру.

Скрипт для завершения работы Windows 10 по таймеру

Более простой вариант — короткая команда shutdown /s /t 600, где /t — включение таймера, а 600 — время в секундах, оставшееся до выключения компьютера.

Shutdown

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

Завершение сеанса

Да, есть еще один маленький нюанс.

Если решите использовать второй вариант выключения, создайте еще скрипт с командой shutdown /а, он позволит вам отменить запланированное выключение компьютера.

Shutdown /а

Ну вот и всё, как видите, вполне можно обойтись и без сторонних таймеров.

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

Правда, закрепления BAT и CMD файлов не поддерживается Windows, но вы можете создать на скрипт ярлык, прописав в оном перед полным путем к командному файлу cmd /c, а затем перетащив созданный ярлык на панель задач.

Создать на скрипт ярлык

Загрузка…

На чтение 2 мин. Просмотров 371 Опубликовано 02.05.2021

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

Windows10 позволяет только аппаратной кнопке питания или кнопке питания меню« Пуск »переходить в спящий (ждущий) режим. В нем нет инструмента командной строки для прямого перехода в спящий режим.

Как перевести Windows 10 в спящий режим из командной строки

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

 rundll32.exe powrprof.dll, SetSuspendState 0,1,0 

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

 powercfg -h offrundll32.exe powrprof.dll, SetSuspendState 0,1,0powercfg -h on 

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

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

Загрузите инструмент PsShutdown от SysInternals. Используя этот инструмент, вы сможете напрямую перевести компьютер в спящий режим, введя одну команду:

 psshutdown.exe -d -t 0 -accepteula 

Я рекомендую PsShutdown как предпочтительный способ отправить компьютер в спящий режим.

‘);

Like this post? Please share to your friends:
  • Командная строка windows 7 команда автозагрузки
  • Команда спящего режима в windows 10 по времени
  • Команда список файлов в папке windows
  • Команда создать пользователя в windows 10 через командную
  • Команда создания файла в cmd windows