пʼятниця, 28 серпня 2015 р.

Перезаватаження з командної стрічки

http://www.manhunter.ru/software/440_perezagruzka_kompyutera_iz_komandnoy_stroki.html

 

Перезагрузка компьютера из командной строки

В некоторых случаях требуется перезагрузить компьютер из командной строки, пакетного файла, через удаленный доступ или в автоматическим режиме без участия человека (например, через планировщик). В этом случае привычная комбинация меню "Пуск" - "Завершение работы", естественно, недоступна. Можно, конечно, воспользоваться сторонними утилитами различных разработчиков, скриптами AutoIt и другими вспомогательными средствами, но они могут быть не всегда доступны. Здесь я собрал несколько способов перезагрузки компьютера с использованием команд самой операционной системы. Некоторые из них работают только на определенных версиях Windows, а некоторые универсальные.

Первая универсальная команда перезагрузки через shutdown, работающая на Windows XP и Windows 7. Параметры команды: -r - перезагрузка (reboot), -f - остановить все запущенные приложения, -t 0 - перезагрузить сразу же, без ожидания.

shutdown -t 0 -r -f
Вторая команда экзотичная, выполняется через команду ping. Работает также на Windows XP и Windows 7:

ping -n 0 127.0.0.1>nul&wmic OS WHERE Primary="TRUE" CALL Win32Shutdown 6
Следующие две команды специфичны только для Windows XP. Эта работает на всех версиях Windows XP:

rundll32 user.exe,ExitWindowsExec 2
А эта работает только до версии SP2 включительно. Останавливается служба журнала событий, после чего система автоматически уходит в перезагрузку. На более новых системах подобный фокус не срабатывает.

echo y|net stop eventlog
Следующий метод перезагрузки самый громоздкий и основан на использовании скрипта VBS. Скрипт состоит из нескольких строчек, поэтому его придется создавать через команды консоли copy con имя_файла.vbs или через перенаправление вывода команды echo в файл. Зато сохраненный файл можно использовать в будущем. Такой способ подходит для Windows XP и Windows 7.

set objWMIService = GetObject("winmgmts:" & "{impersonationLevel = impersonate}!\\.\root\cimv2")
set colSoftware = objWMIService.ExecQuery("Select * from Win32_OperatingSystem")
for each objSoftware in colSoftware
objSoftware.Win32Shutdown 1
next

И напоследок команда для перевода компьютера в спящий режим (hibernate). Команда работает на Windows 7 и требует прав Администратора:

rundll32.exe powrprof.dll,SetSuspendState
Надеюсь, что эта информация окажется вам полезной. Если вы знаете еще какие-нибудь интересные способы перезагрузки, то напишите в комментариях, я обязательно добавлю их в статью.

Немає коментарів:

Дописати коментар