Эта возможность полезна при работе, например, с командными файлами, которые выполняются длительное время. Можно добавить в конец такого командного файла команду выключения компьютера, и компьютер автоматически выключится по завершении выполняемой процедуры.
Также можно настроить Назначенное задание, которое запускало бы скрипт в определённое время и тем самым перезапускало бы компьютер.
Имеются готовые программы, предоставляющие такие возможности, но при переносе скриптов на другой компьютер придётся устанавливать эти программы, что не всегда удобно. Помимо готовых программ, можно использовать возможности WSH, который всегда установлен на всех компьютерах и не требует установки дополнительных программ.
Выключить компьютер можно следующим скриптом:
Код: Выделить всё
var wmi = GetObject("winmgmts:{impersonationLevel=impersonate,(Shutdown)}\\\\.\\root\\cimv2");
var col_os = wmi.ExecQuery("Select * from Win32_OperatingSystem");
for(var i = new Enumerator(col_os); !i.atEnd(); i.moveNext())
i.item().Win32Shutdown(1);
Можно доработать скрипт, чтобы сетевое имя компьютера задавалось параметром скрипта:
Код: Выделить всё
var computer_name = ".";
if (WScript.Arguments.length)
computer_name = WScript.Arguments(0);
var wmi = GetObject("winmgmts:{impersonationLevel=impersonate,(Shutdown)}\\\\"+
computer_name+"\\root\\cimv2");
0 (0x0) Log Off
4 (0x4) Forced Log Off (0 + 4)
1 (0x1) Shutdown
5 (0x5) Forced Shutdown (1 + 4)
2 (0x2) Reboot
6 (0x6) Forced Reboot (2 + 4)
8 (0x8) Power Off
12 (0xC) Forced Power Off (8 + 4)
Соответственно, заменив параметр 1 на 2, мы получим перезагрузку вместо выключения. Также в функции Win32Shutdown имеются режимы принудительного выполнения (Forced), которые принудительно закрывают работающие программы.
Например, если на момент выполнения скрипта с параметром 1 (0x1) Shutdown на компьютере работает MS Word с несохранённым документом, то MS Word откроет запрос о сохранении документа, и выключение не будет выполнено, пока пользователь не ответит на запрос - всё, как при обычном выключении вручную через Пуск - Завершение работы.
Если в такой же ситуации скрипт будет выполнен с параметром 5 (0x5) Forced Shutdown (1 + 4), то Windows принудительно закроет MS Word и выключится.
Подробнее об методе Win32Shutdown можно посмотреть здесь http://msdn.microsoft.com/en-us/library ... S.85).aspx