if (Res==vbYes) //Нажата кнопка Да
//Вызываем окно запуска программ
Shell.FileRun();
/************* Конец *********************************************/
Блокировка рабочей станции
Заблокировать рабочую станцию Windows ХР можно с помощью вызова функции LockWorkStation() из библиотечного файла user32.dll. В листинге 11.18 приведен сценарий Lock.js, в котором происходит блокировка компьютера с помощью этой функции.
/*******************************************************************/
/* Имя: Lock.js */
/* Язык: JScript */
/* Описание: Блокировка рабочей станции */
/*******************************************************************/
//Объявляем переменные
var
WshShell, //Экземпляр объекта WshShell
Res; //Результат нажатия кнопок в диалоговом окне
//Инициализируем константы для диалоговых окон
var vbYesNo=4,vbQuestion=32,vbYes=6;
//Создаем объект WshShell
WshShell = WScript.CreateObject("WScript.Shell");
//Выводим запрос на блокировку рабочей станции
Res=WshShell.Popup("Заблокировать рабочую станцию?",0,
"",vbQuestion+vbYesNo);
if (Res==vbYes) //Нажата кнопка Да
//Блокируем рабочую станцию
WshShell.Run("Rundll32.exe user32.dll,LockWorkStation");
/************* Конец *********************************************/
Вызов окна выключения компьютера
Из сценария WSH можно вызвать диалоговое окно, в котором производится выбор действия при завершении работы Windows (рис. 11.27).
Рис. 11.27. Диалоговое окно выключения компьютера
Для этого необходимо вызвать метод ShutdownWindows() объекта Shell.Application. Соответствующий пример приведен в листинге 11.19.
/*******************************************************************/
/* Имя: ShutdownWindow.js */
/* Язык: JScript */
/* Описание: Вызов окна выключения компьютера */
/*******************************************************************/
//Объявляем переменные
var
WshShell, //Экземпляр объекта WshShell
Shell, //Экземпляр объекта Shell.Application
Res; //Результат нажатия кнопок в диалоговом окне
//Инициализируем константы для диалоговых окон
var vbYesNo=4,vbQuestion=32,vbYes=6;
//Создаем объект WshShell
WshShell = WScript.CreateObject("WScript.Shell");
//Создаем объект Shell.Application
Shell=WScript.CreateObject("Shell.Application");
//Выводим запрос
Res=WshShell.Popup("Открыть окно выключения компьютера?",0,
"Вызов стандартных диалогов Windows",vbQuestion+vbYesNo);
if (Res==vbYes) //Нажата кнопка Да
//Вызываем окно выключения компьютера
Shell.ShutdownWindows();
/************* Конец *********************************************/
Использование технологии Windows Management Instrumentation (WMI)
В Windows XP/2000 ядром системы управления является технология WMI — Windows Management Instrumentation. WMI — это глобальная концепция настройки, управления и слежения за работой различных частей корпоративной компьютерной сети. В частности, используя WMI, можно из сценария WSH контролировать и изменять параметры самых разнородных физических и логических элементов компьютерной системы, в качестве которых могут выступать, например, файл на жестком диске, запущенный экземпляр приложения, системное событие, сетевой пакет или установленный в компьютере процессор. Очень важно, что при этом для доступа ко всем элементам используется единый интерфейс с помощью CIMOM — Common Information Model Object Manager — базы данных объектов, представляющих эти элементы. Это позволяет, в частности, быстро получать информацию разнообразного типа об объектах с помощью запросов на языке SQL. Другой важной особенностью WMI является то, что этот же интерфейс можно использовать для дистанционного управления компьютерами в сети (естественно, если на локальной и удаленной машине установлен WMI, а у пользователя, который выполняет удаленное администрирование, имеются соответствующие права).
Технология WMI — это созданная фирмой Microsoft реализация модели управления предприятием на базе Web (WBEM, Web-Based Enterprise Management), которая была разработана и принята рабочей группой по управлению распределенными системами (DMTF, Distributed Management Task Force), при участии таких компаний, как ВМС Software, Cisco Systems, Compaq Computer, Intel и Microsoft. Задачей WBEM была разработка стандартного набора интерфейсов для управления информационной средой предприятия.