В 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 "комментарий"]]
Как вы видите, у команды довольно много опций, а также есть возможность выключить/ перезагрузить удаленный компьютере.
Выключение Windows командой Shutdown
Для выключения ОС Windows и компьютера необходимо использовать команду shutdown с ключом /s.
shutdown /s
Перезагрузка Windows
Чтобы перезагрузить компьютер, необходимо добавить параметр /r. После выполнения этой команды Windows корректно перезагрузится.
shutdown /r
Завершение сеанса пользователя
Чтобы завершить текущую сессию пользователя (logout), нужно выполнить команду:
shutdown /l
Эта команда аналогично выполнению команды logoff.
Перевод компьютера в режим гибернации
Для перевода компьютер в режим гибернации (в этом режиме все содержимое памяти записывается в файл hyberfil.sys на диск и компьютер переходит в спящий режим с пониженным электропотреблением), выполните команду:
shutdown /h
Перезагрузка компьютера с сообщением пользователям
Вы можете предупредить всех пользователей Windows о предстоящем выключении / перезагрузки компьютера или сервера, отправив сообщение во все активные сессии (как правило эта возможность используется на терминальных RDS серверах, за которыми одновременно работают несколько пользователей, каждый в своей собственной RDP сессии).
shutdown /r /c “Этот сервер будет перезагружен через 60 секунд.”
Отложенное выключение / перезагрузка компьютера
Можно выключить или перезагрузить компьютер с определенной задержкой (по таймеру). С помощью опции /t можно указать интервал времени (в секундах), через который ПК/сервер будет перезагружен или выключен. Тем самым вы можете предоставить пользователям дополнительное время для того, чтобы успеть сохранить открытые файлы и корректно закрыть приложения. Эту опцию удобно использовать совместно с отправкой сообщения. В этом примере мы указываем, что Windows будет выключена через 10 минут (600 секунд) и информируем пользователей сообщением.
shutdown /s /t 600 /c "Сервер будет выключен через 10 минут. Сохраните свои документы!"
Пользователю будет выдано предупреждение о запланированном выключении: Ваш сеанс будет завершен.
Если задержка очень длительная, например, 100 минут (6000 секунд), то вместо предупреждающего окна появляется всплывающее сообщение в нижнем правом углу экрана: «Ваш сеанс будет завершен. Работа Windows будет завершена через 100 мин».
Отмена выключения / перезагрузки компьютера
После запуска команды выключения или перезагрузки Windows, по умолчанию утилита shutdown ожидает 60 секунд, не выполняя никаких действия. Администратор может отменить перезагрузку или выключение устройства, если в течении этого времени успеет выполнить команду:
shutdown /a
После отмены выключения появится всплывающее сообщение в нижнем правом углу экрана: «Выход из системы отменен. Запланировано завершение работы отменено».
Перезагрузить Windows немедленно
Чтобы выключить или перезагрузить компьютер немедленно, не ожидая стандартные 60 секунд, нужно указать значение 0 для параметра /t. Например, для немедленной перезагрузки компьютера:
shutdown /r /t 0
Очень важный ключ /f. Я использую его практически всегда при выключении или перезагрузки серверов Windows. Данный атрибут обеспечивает принудительное завершение всех запущенных программ и процессов, не ожидая подтверждения от пользователя (не будем же мы ждать подтверждения закрытия программ от всех пользователей на терминальном сервере, его можно просто не дождаться).
Следующая команда выполнит перезагрузку компьютера с автоматическим запуском всех зарегистрированных приложений после перезагрузки (имеются в виду приложения, зарегистрированные в системе с использованием функции API RegisterApplicationRestart).
shutdown /g
Ярлык для перезагрузки компьютера
Для удобства пользователей вы можете создать на рабочем столе ярлыки для выключения или перезагрузки компьютера с нужными настройками. Такой ярлык может быть полезен для выполнения перезагрузки из RDP сессии, когда отсутствуют кнопки перезагрузки/завершения работы компьютера в меню Пуск.
Перезагрузка Windows в определенное время
Чтобы всегда перезагружать/выключать компьютер или сервер в определенное время, вы можете добавить команду shutdown в планировщик заданий Windows taskschd.msc.
Например, следующее задание планировщика будет ежедневно перезагружать компьютер ночью в 0:00.
Либо вы можете создать новое задание планировщика из PowerShell:
$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
Перезагрузка удаленных компьютеров командой 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
Если для подключения к удаленному компьютеру нужно указать учетные данные пользователя, можно использовать команду:
net use \\192.168.31.10 /u:corp\username
shutdown /s /t 60 /f /m \\192.168.31.10
Если вам необходимо удаленно перезагрузить множество компьютеров, их список можно сохранить в текстовый файл и запустить удаленную перезагрузку всех компьютеров с помощью такого 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, чтобы его вызвать, наберите:
shutdown /i
Как вы видите, в диалоге удаленного завершения работы вы можете добавить несколько компьютеров, которые нужно перезагрузить/выключить, указать текст уведомления и задать причину выключения для сохранения в журнале Windows.
Перезагрузка и выключение Windows с помощью PowerShell
В PowerShell есть две команды для выключения и перезагрузки компьютера: Restart-Computer и Stop-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).
Если на удаленном компьютере настроен 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.
Для принудительной перезагрузки нужно добавить параметр -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.
Можно дождаться запуска службы удаленного рабочего стола (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
- Remove From My Forums
-
Question
-
Hello Community,
I have a pc at my home that i would like to be able to shutdown remotely. After searching a little bit i foundout that using the console i could shut it down with the command ‘shutdown -i’ and typing in the computer name i gotten from ‘net view’.
I had some issues with net view and turned of my firewall and now it works again. just the thing that i dont like is when i try to execute the shutdown command, filled in the required text the command window says error code 5 access denied. Can anyone help
me with this issue and explain me why this happens.Thanks,
Luc
-
Edited by
Sunday, January 31, 2016 11:00 AM
-
Edited by
Answers
-
Not that I can find on Home. My testing is thwarted at every turn. The more I search for answers the more convoluted it gets. Basically as far as I can tell Home is not geared for remote access. Even giving a user permission to remotely shutdown the machine,
always with access denied. An old
Sysinternals thread has a reply saying Home (XP in that case) makes all network access as guest, so that fits with why I always get access denied.So can only suggest you use something like
TeamViewer to remotely connect to the machine and shut it down.-
Marked as answer by
Kate LiMicrosoft employee
Tuesday, February 16, 2016 5:21 AM
-
Marked as answer by
7 / 7 / 0 Регистрация: 13.08.2012 Сообщений: 250 |
|
1 |
|
Выключение удалённого компьютера в локальной сети03.12.2014, 13:37. Показов 54016. Ответов 15
Мне нужно выключить компьютер по локальной сети. Миниатюры
0 |
Клюг 7674 / 3189 / 382 Регистрация: 03.05.2011 Сообщений: 8,380 |
|
03.12.2014, 15:11 |
2 |
Дык, а PsShutdown от Марка Руссиновича не помогает?
0 |
7 / 7 / 0 Регистрация: 13.08.2012 Сообщений: 250 |
|
04.12.2014, 07:28 [ТС] |
3 |
psshutdown \\192.168.0.120 -u «Admin» -p «password»
0 |
Maks Модератор 7455 / 4004 / 502 Регистрация: 13.03.2013 Сообщений: 14,702 Записей в блоге: 12 |
||||||||
04.12.2014, 10:01 |
4 |
|||||||
psshutdown \\192.168.0.120 -u «Admin» -p «password» Для начала позвольте Вас поправить: Выключение ПК по сети в рабочей группе
Выключение ПК по сети в домене
Выше 100% рабочий код (у меня прекрасно глушит ПК в домене). Ввожу и получаю ошибку с текстом в неправильной кодировке. А это скорее всего из-за того, что Ваш пользователь и/или пароль содержат русский язык.
3 |
7 / 7 / 0 Регистрация: 13.08.2012 Сообщений: 250 |
|
04.12.2014, 10:34 [ТС] |
5 |
Запустил net use для пк без кириллицы в пароле: Множественное подключение к серверу или к общим ресурсам одним пользователем с использованием более одного имени пользователя не разрешено. Отключите все предыдущие подключения к серверу или общим ресурсам и повторите попытку. Домен не настроен, но рабочая группа одна.
0 |
Модератор 7455 / 4004 / 502 Регистрация: 13.03.2013 Сообщений: 14,702 Записей в блоге: 12 |
|
04.12.2014, 13:44 |
6 |
ресурсам одним пользователем с использованием более одного имени пользователя не разрешено. Вам нужно расшарить локального админа, как показано на скрине:
0 |
7 / 7 / 0 Регистрация: 13.08.2012 Сообщений: 250 |
|
04.12.2014, 14:00 [ТС] |
7 |
На обоих компьютера точно такая же картина.
0 |
0 / 0 / 0 Регистрация: 26.05.2016 Сообщений: 9 |
|
26.05.2016, 07:44 |
8 |
На машине, которую надо выключить- Windows 7 Домашняя базовая. В ней отсутствует «локальная политика безопасности». Как показано на скрине- локальный админ расшарен. С другой машины пишу: Windows Batch file net use \\192.168.100.100 /user:НАЗВАНИЕ_ДОМЕНА\ЛОГИН_АДМИНИСТРАТОРА ПАРОЛЬ
— возвращает «Команда выполнена успешно». Далее Windows Batch file shutdown /s /t 60 /f /m \\192.168.100.100 — возвращает: «192.168.100.100: Отказано в доступе.(5)». В чем еще может быть проблема?
0 |
8 / 8 / 3 Регистрация: 20.10.2015 Сообщений: 50 |
|
10.12.2016, 11:56 |
9 |
Такая же хрень, net use цепляется а shutdown пишет нет доступа.
0 |
6927 / 1845 / 314 Регистрация: 10.12.2013 Сообщений: 6,504 |
|
10.12.2016, 12:41 |
10 |
Такая же хрень, net use цепляется а shutdown пишет нет доступа. net use и сетевые утилиты типа shutdown — разные протоколы, разные типы доступа.
0 |
Модератор 7455 / 4004 / 502 Регистрация: 13.03.2013 Сообщений: 14,702 Записей в блоге: 12 |
|
10.12.2016, 12:57 |
11 |
возвращает: «192.168.100.100: Отказано в доступе.(5)». В чем еще может быть проблема? 1. Неправильно вводите учетные данные локального админа на удаленной машине;
0 |
8 / 8 / 3 Регистрация: 20.10.2015 Сообщений: 50 |
|
12.12.2016, 19:12 |
12 |
Неверно. Необходимо отключить удаленные ограничения UAC.
0 |
Модератор 7455 / 4004 / 502 Регистрация: 13.03.2013 Сообщений: 14,702 Записей в блоге: 12 |
|
13.12.2016, 08:05 |
13 |
Неверно. Необходимо отключить удаленные ограничения UAC. Странно, только что проверил на удаленной машине с включенным UAC, комп выключился.
0 |
41 / 12 / 1 Регистрация: 11.05.2016 Сообщений: 143 |
|
04.01.2017, 20:10 |
14 |
pdn_mail, сработало, хорошее решение, у меня работает на win serv 2008 r2, win 10 а на win xp не работает, Вы не знаете почему ?
0 |
8 / 8 / 3 Регистрация: 20.10.2015 Сообщений: 50 |
|
04.01.2017, 20:38 |
15 |
На XP другие механизмы безопасности, более «лояльные». В любом случае надо проверять полноту доступа по сети к машине. Так навскидку трудно сказать. Посмотрите EventLog, что там написано, может подскажет путь решения.
0 |
0 / 0 / 0 Регистрация: 26.05.2016 Сообщений: 9 |
|
08.10.2021, 04:30 |
16 |
Спасибо за ответы.
0 |
One thing to keep in mind is that, the computers you want to shutdown must be on the same network as the «controlling» computer.
There are many solutions to this, I simply chose this one.
This is a simple network access issue. You will have access to certain computer some times, but that is not this case. To gain access of another computer for you to remote shutdown, you must execute the follow command in command prompt:
net use \\Server\IPC$ pswd /USER:user
Replace Server
with the computer ip/name you want to shutdown remotely, pswd
with the password to any administrator account of the remote computer and user
with the Administrator user account name. To list all the computers in your current Wi-Fi network, do net stat
. It’ll give you the names of the computers. Unless you prefer an easier way: Click Start, then Right-Click Computer. Click properties, it should be named in there. IPC$ is supposed to be there. Sometimes it will not work. I do not know why.
Work cited here.
For example, we’ll have a computer named CHOCOLATE, and an Administrator account on the current machine is Bob and the password is Joe:
net use \\CHOCOLATE\IPC$ Joe /USER:Bob
Здравстуйте.
Задача выключать удаленный ПК после выполнения бейкапа.
Создан bat файл с содержимым:
shutdown /r /m \\pcname /t 10 /c "VEEAM Backup Job for pcname Ended!"
Проверил, работает. Добавляю в «Run the following script after the job» этот скрипт, после выполнения получаю:
Post-job script terminated with exit code 5
Игрался с правами на этот файл, даже выставил фул права на файл для всех и все равно появляется данная ошибка.
Помогите пожалуйста разобраться.
Заранее спасибо.
-
Вопрос задан
-
223 просмотра
Сделайте перенаправление вывода скрипта в файл и stderr то же.
Видимо shutdown завершается с ошибкой, но ошибку вы не видите, т.к. консоль скрыта при выполнении задания.
shutdown /r /m \\pcname /t 10 /c "VEEAM Backup Job for pcname Ended!" 1>shut.log 2>&1
Только пропишите полный путь для лог файла. Текст ошибки сюда. Возможно по тексту ошибки вам уже будет понятно, что делать.
Пригласить эксперта
-
Показать ещё
Загружается…
09 окт. 2023, в 09:40
6000 руб./за проект
08 окт. 2023, в 23:50
5000 руб./за проект
08 окт. 2023, в 21:59
1000 руб./в час