Как выключить компьютер через командную строку и PowerShell
Как выключить компьютер через командную строку и PowerShell
Добрый день! Уважаемые читатели и подписчики IT блога Pyatilistnik.org. В прошлой статье мы разобрали методы перезагрузки Windows из PowerShell. Сегодня я хочу логически закончить эту статью и показать вам методы, позволяющие вам выключить компьютер без мышки используя оболочку PowerShell и старую, добрую командную строку. Я вам покажу, как вы можете создать себе ярлык или exe файл, выполняющий данную задачу.
Зачем использовать CMD и PowerShell для выключения компьютера
Логично, что большинство людей всегда для завершения работы за компьютером будут использовать графические окна и мышку, это правильно, так как это проще и быстрее, но бывает ряд случаев, что вы как продвинутый пользователь или тем более системный администратор, просто обязаны уметь выполнять все задачи без GUI интерфейса. Вот вам примерный список ситуаций:
- Вам как системному администратору может выпасть честь работать с Windows Server Core, которая не имеет графического интерфейса и если вам вдруг нужно завершить работу такого сервера или виртуальной машины для обслуживания, вы обязаны это уметь.
- Вторая ситуация может возникнуть, на компьютерах, где политиками или иными методами была выключена возможность завершать работу компьютера. Вот вам пример, что есть только пункт «Выход«.
- Третья ситуация, это различные сценарии, подразумевающие использование скриптом, например массово выключить компьютеры по списку, полет фантазии тут огромный.
- Так же не нужно забывать про удаленное выключение систем, PowerShell, как и был призван одним из основных инструментов по удаленному управлению Windows, но командная строка так же позволяет это выполнить.
Как выключить компьютер через командную строку
Для начала давайте я вам напомню, как производилось выключение компьютера из командной строки, если вы постоянный читатель моего блога, то помните, что мы уже создавали задание по выключению систему по таймеру, там мы так же использовали cmd. Что мы делаем, открываем окно командной строки, желательно в режиме администратора, чтобы все команды у вас точно отработали.
Есть такая замечательная команда Shutdown, она имеет два режима работы, первый это консольный, а второй графический, да не удивляйтесь. Давайте для начала посмотрим справку по данной утилите, для этого выполните команду:
Утилита имеет большое количество ключей для различных сценариев.
Самый простой сценарий, нужно завершить работы локального компьютера и для того, чтобы выключить компьютер через командную строку вы вводите:
У вас появится всплывающее окно, где будет указано, что ваш сеанс будет завешен. Для завершения работы Windows осталось менее 1 минуты. Тут вам дают возможность успеть сохранить важные данные в программах и документах.
Теперь давайте поиграемся с таймером, у вас может быть желание немедленного завершения работы или наоборот вы хотите задать время превышающее стандартную минуту, тут нам поможет ключ /t, в там случае команда будет выглядеть так:
При t = 0 у меня будет произведено моментальное выключение компьютера, если же я например задам 180, что равносильно трем минутам, то вы увидите вот такое окно:
Если у вас время в ключе /f задано более 0, то вы можете столкнуться с ситуацией, что какие-то приложения могут не дать завершить работу системы и выключить компьютер. В таких сценариях вы можете принудительно их завершать, для этого есть ключ /f:
Или вы вообще можете захотеть, выключить компьютер через 2 часа. это в секундах 7200. Так же есть отдельный ключ, который сразу завершает работу вашей системы, без ввода времени, этот ключ /p. В итоге можно выключить компьютер командой
Если вы хотите задать комментарий при выключении компьютера из командной строки и задать причину, то есть ключи /c и /d. Ключ /c задает комментарий, который не может быть длиннее, чем 512 символов. Ключ /d указывает причину, тут может быть совместный ключ «p«, означающий запланированное завершение или же ключ «u«, означающий что причину указывает пользователь.
В логах Windows вы можете обнаружить событие 1074 с нашим комментарием. Согласитесь, что это отличный инструмент выключить компьютер без помощи мышки.
Удаленное выключение компьютера из командной строки
CMD может легко взаимодействовать и с удаленными системами, давайте я покажу, как вы можете завершить работу Windows у двух удаленных компьютеров, у меня это будет система с Windows 10 под именем W10-cl02. Для этого мы используем ключ «m«.
Тут я принудительно завершаю работу удаленного компьютера W10-cl02. Так же вы можете произвести удаленное выключение компьютера и из графического интерфейса, для этого есть ключ -i. Вводим команду:
В результате у вас откроется форма «Диалог удаленного завершения работы», я его уже вам показывал при массовом выключении компьютеров.
Нажимаем кнопку «Добавить» и вводим нужные вам сервера и рабочие станции которые вы планируете выключить.
В выборе действий, указываем «Завершение работы», ставим галку «Предупредить пользователей об этом действии» если нужно сделать отложенное выключение, можете хоть выставить 2 часа. Указываете причину и комментарий при необходимости.
Выскочит предупредительное окно, произойдет выключение компьютера через определенное время, заданное вами ранее.
Как видите утилита командной строки shutdown.exe даже в нынешнее время Windows 10, является отличным инструментом, умеющим выключать компьютер с Windows по нужному сценарию. дополнительную информацию про утилиту shutdown вы можете посмотреть по ссылке:
Как как выключить компьютер через PowerShell
Теперь давайте обратимся к более современному инструменту, а именно к оболочке PowerShell. Открываем ее в режиме администратора, нас будет интересовать командлет Stop-Computer. Если вы его просто введете в оболочке на локальном компьютере, то у вас начнется завершение работы.
Теперь давайте посмотрим справку по данному командлету, для этого введите
Как видим командлет имеет много дополнительных ключей.
Удаленное выключение компьютера из PowerShell
Командлет Stop-Computer имеет ключ -ComputerName через который можно указать список систем, требующих завершения работы. У меня есть два удаленных компьютера с Windows 10, w10-cl02 и w10-cl03. Давайте их выключим, вводим команду:
Если на текущий момент на удаленных компьютерах. кто-то работает, то вы получите ошибку:
+ CategoryInfo : InvalidOperation: (w10-cl02:String) [Stop-Computer], InvalidOperationException
+ FullyQualifiedErrorId : InvalidOperationException,Microsoft.PowerShell.Commands.StopComputerCommand
Stop-Computer : Не удается выполнить команду на конечном компьютере («w10-cl03») из-за следующей ошибки: Невозможно инициировать завершение работы системы, так как компьютер используется другими пользователями.
строка:1 знак:1
+ Stop-Computer -ComputerName w10-cl02, w10-cl03
+
+ CategoryInfo : InvalidOperation: (w10-cl03:String) [Stop-Computer], InvalidOperationException
+ FullyQualifiedErrorId : InvalidOperationException,Microsoft.PowerShell.Commands.StopComputerCommand
Чтобы это обойти вы можете добавить ключик -Force, который сделает принудительное выключение
Если вам необходимо выполнить выключение от имени определенной учетной записи, то вы можете воспользоваться ключом -Credential:
В окне запроса учетных данных Windows, укажите пароль. В итоге я выключил два компьютера и все можно сделать и без использования мышки.
Также командлет Stop-Computer имеет ключ -WsmanAuthentication, который позволяет производить подключения по разным протоколам аутентификации. Возможные варианты:
Напоминаю, что по умолчанию используется CredSSP .но я в моем примере буду использовать Kerberos, так как привык работать со службой удаленного управления Windows (WinRM).
[info]Stop-Computer -ComputerName w10-cl02, w10-cl03 -Force -WsmanAuthentication Kerberos[/info]Как выключить компьютер со списком компьютеров в текстовом файле
Может возникнуть ситуация, что вы или ваши коллеги могут подготовить тестовый файл со списком компьютеров, которые потребуется выключить. Stop-Computer легко справится с этой задачей. Кладу на диск C:\ файл computers.txt, после чего выполняю команды.
Выключение компьютера с задержкой по времени через PowerShell
И так, как выключить компьютер через определенное время, так как у вас легко может возникнуть такой сценарий. Для решения вопроса со временем есть командлет Start-Sleep.
В результате выполнения команды, у меня завершится работа на двух удаленных компьютерах. Или можно вот так со списком компьютеров в текстовом файле.
Дополнительную информацию, по командлету Stop-Computer я вам советую поискать на сайте Microsoft
Как выключить компьютер через WMI запрос
Так же используя командную строку или оболочку PowerShell вы можете выполнить команду с использованием WMI, чтобы завершить работу компьютера. Для этого введите команду:
[info](Get-WmiObject Win32_OperatingSystem -EnableAllPrivileges).Win32Shutdown(1)[/info]В результате у вас будет произведено корректное завершение работы в вашей системе Windows, так же можно сделать форсированное выключение, для этого выполните:
Создание ярлыка выключения компьютера
Если вы хотите вынести себе функцию выключения вашего компьютера в виде отдельного файла-ярлыка, вы можете это легко реализовать. Щелкаете правой кнопкой мыши по рабочему столу и выбираем пункт «Создать — Ярлык»
Задаем параметры для нашего ярлыка, тут вы вводите нужную вам команду, в моем случае, это команда, которая немедленно выключает компьютер.
Указываем нужное вам название ярлыка.
Вот такой у меня получился ярлык для завершения системы Windows.
Как настроить?
Всё о Интернете, сетях, компьютерах, Windows, iOS и Android
Как выключить компьютер через командную строку
В любой современной операционной системе есть возможность выключить компьютер через командную строку. В Windows 10 это чаще всего требуется когда необходимо удалённо перезагрузить ПК. В случае с Linux (Ubuntu, Debian, CentOS и т.п.) вообще большинство операций выполняются через консоль и теперь не только бородатые дадьки-сисадмины, но уже всё чаще и обычные пользователи знают как выполняется перезагрузка или выключение компьютера через командную строку. Если Вы ещё не в курсе как это можно сделать — я сейчас всё подробно расскажу.
Выключаем Windows 10 через командную строку
В Windows есть штатная консольная утилита shutdown.exe, которая даёт возможность перезагрузить или вообще выключить ПК. Для этого достаточно открыть командую строку Виндовс в обычном режиме, либо под администратором. Чтобы её запустить — нажмите кнопку «Пуск» и наберите «с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 .
[root]# 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 обычно лежат исполняемые файлы консольных приложений.