Как отключить-перезапустить-выйти из системы Windows через файл bat?
Я использую Подключение К Удаленному Рабочему Столу чтобы попасть в станцию, но я не могу использовать функцию выключения/перезагрузки в меню "Пуск" при этом.
Я поставил несколько действительно полезных вариантов в ответ ниже.
Примечание:
Я хотел убедиться, что некоторые действительно хорошие ответы были также упомянуты вместе с моими собственными.
и здесь они не в особом порядке.
Силу отключение от JosephStyons
Выполнение DLL-файла из VonC
Запустите его из коробки запуска от Дина
Удаленное завершение работы с Кип
9 ответов:
вот как сделать функции выключения через пакетный файл:
shutdown -r- перезагрузитсяshutdown -s- shutsdownshutdown -l- выходshutdown -t xx- гдеxx- это количество секунд до выключения/перезагрузки/выхода из системыshutdown -i- дает вам диалоговое окно для заполнения, какую функцию вы хотите использоватьshutdown -a- прерывает предыдущую команду выключения....очень удобно!shutdown -h- спящий режим. легкая ошибка - это не поможетshutdown -y- удаляет все подсказки при выключении (справка недоступна в любой документации)дополнительные опции:
-f- принудительно выполнить выбранное действие-t <seconds>- установить время выключения. Используйте-t 0для "Сейчас"-c <message>- добавляет сообщение в Shutdown
Если вы находитесь на удаленной машине, вы также можете добавить параметр-f в силу перезагрузка. В противном случае ваша сессия может закрыться, и упрямое приложение может повесить систему.
Я использую это всякий раз, когда я хочу выполнить принудительную перезагрузку:
shutdown -t 0 -r -fдля более дружественного варианта" дайте им некоторое время", вы можете использовать это:
shutdown -t 30 -rКак вы можете видеть в комментариях,- f подразумевается таймаутом.
Брут 2006 года утилита, которая предоставляет графический интерфейс для этих параметров.
никто не упомянул
-mопция для удаленного выключения:shutdown -r -f -m \machinenameтакже:
- The
-rпараметр вызывает перезагрузку (обычно это то, что вы хотите на удаленной машине, так как физически запустить его может быть сложно).- The
-fпараметр принудительно перезагружает компьютер.- вы должны иметь соответствующие привилегии, чтобы выключить удаленную машину, конечно.
оригинальный ответ: октября. 2008
вы получили все
"серия:rundll32.exe shell32.dll"(см. обновление ниже)
rundll32.exe user.exe,**ExitWindows**[быстрое выключение Windows]
rundll32.exe user.exe,**ExitWindowsExec**[Перезагрузить Windows]rundll32.exe shell32.dll,SHExitWindowsEx nздесь
nозначает:
- 0 -
LOGOFF- 1 -
SHUTDOWN- 2 -
REBOOT- 4 -
FORCE- 8 -
POWEROFF(можно комбинировать -> 6 = 2+4
FORCE REBOOT)
обновление апрель 2015 (6+ лет):
1800 информация любезно указывает в комментариях:
не используйте
rundll32.exeдля этой цели. Он ожидает, что функция, которую вы передали в командной строке, имеет очень специфическую сигнатуру метода - она не соответствует сигнатуре методаExitWindows.Раймонд Чен писал:
сигнатура функции, необходимая для функций, вызываемых
rundll32.exe- это:void CALLBACK ExitWindowsEx(HWND hwnd, HINSTANCE hinst, LPSTR pszCmdLine, int nCmdShow);это не остановило людей от использования
rundll32для вызова случайных функций, которые не были предназначены для вызоваrundll32, какuser32 LockWorkStationилиuser32 ExitWindowsEx.(ой)
фактическая сигнатура функции для ExitWindowsEx:
BOOL WINAPI ExitWindowsEx(UINT uFlags, DWORD dwReserved);и чтобы было кристально ясно:
Rundll32это остаток от Windows 95, и он был устаревшим, по крайней мере, с Windows Vista, потому что он нарушает множество современных инженерных рекомендаций.
еще один небольшой совет: при переходе на маршрут пакетного файла мне нравится иметь возможность прервать его в случае, если я запускаю его случайно. Таким образом, пакетный файл вызывает завершение работы, но оставляет вас в командной строке после этого.
@echo off echo Shutting down in 10 seconds. Please type "shutdown /a" to abort. cmd.exe /K shutdown /f /t 10 /rплюс, так как это на таймере, вы получаете примерно такие же острые ощущения, как и когда охота на Орегонской тропе.
при удалении в машину (цель-Windows XP в любом случае; я не уверен в целевой Windows Vista), хотя Shutdown в меню "Пуск" заменяется Отключить Сеанс или что-то в этом роде, должен быть один под названием "Безопасность Windows", который также делает то же самое, что и Ctrl + Alt + конец как отметил Оуэн.
вы, вероятно, знаете об этом, но на всякий случай: гораздо проще просто ввести
shutdown -r(или любая другая команда, которая вам нравится) в поле "Выполнить" и нажмите enter.сохраняет пакетные файлы, лежащие повсюду.
Я опаздываю на вечеринку, но еще не видел этого ответа. Если вы не хотите использовать пакетный файл или ввести команду. Вы можете просто установить фокус на рабочий стол, а затем использовать Alt + F4.
Windows спросит вас, что вы хотите сделать, выберите shutdown или restart.
для скриншотов и даже видео, смотрите: https://tinkertry.com/how-to-shutdown-or-restart-windows-over-rdp
Comments