MyBooks.club
Все категории

Андрей Попов - Windows Script Host для Windows 2000/XP

На сайте mybooks.club вы можете бесплатно читать книги онлайн без регистрации, включая Андрей Попов - Windows Script Host для Windows 2000/XP. Жанр: Программное обеспечение издательство -,. Доступна полная версия книги с кратким содержанием для предварительного ознакомления, аннотацией (предисловием), рецензиями от других читателей и их экспертным мнением.
Кроме того, на сайте mybooks.club вы найдете множество новинок, которые стоит прочитать.

Название:
Windows Script Host для Windows 2000/XP
Издательство:
-
ISBN:
-
Год:
-
Дата добавления:
16 сентябрь 2019
Количество просмотров:
222
Читать онлайн
Андрей Попов - Windows Script Host для Windows 2000/XP

Андрей Попов - Windows Script Host для Windows 2000/XP краткое содержание

Андрей Попов - Windows Script Host для Windows 2000/XP - описание и краткое содержание, автор Андрей Попов, читайте бесплатно онлайн на сайте электронной библиотеки mybooks.club
В книге описывается сервер сценариев Windows Script Host (WSH) версии 5.6, который является одним из стандартных компонентов Windows ХР, а также может быть установлен в более ранних версиях Windows. Приводятся сценарии на языках VBScript и JScript, иллюстрирующие применение стандартных объектов WSH 5.6, включая создание из сценариев дочерних процессов и запуск сценариев на удаленных компьютерах. В качестве более сложных примеров рассматриваются сценарии, работающие с базами данных, управляющие приложениями Microsoft Office, организующие графический пользовательский интерфейс, использующие технологии ADSI (Active Directory Service Interface) и WMI (Windows Management Instrumentation) для решения задач администрирования. Освещены вопросы практической работы с XML-файлами и создания СОМ-объектов. Особое внимание уделяется вопросам безопасности при работе со сценариями, приводятся конкретные примеры настроек политик безопасности. К книге прилагается дискета с исходными текстами большинства примеров.

Windows Script Host для Windows 2000/XP читать онлайн бесплатно

Windows Script Host для Windows 2000/XP - читать книгу онлайн бесплатно, автор Андрей Попов

var vbCritical=16;

tryВ  {

 //Соединяемся с WMI

В WMI=GetObject("winMgmts:");

} catch (e) {  //Обрабатываем возможные ошибки

В if (e != 0) {

  //Выводим сообщение об ошибке

  Mess="Ошибка при соединении с WMI";

  WshShell.Popup(Mess,0,"Запущенные процессы",vbCritical);

  //Выходим из сценария

В  WScript.Quit();

В }

}

//Создаем коллекцию всех запущенных процессов

Processes=new Enumerator(WMI.ExecQuery("SELECT * FROM Win32_Process"));

//Рнициализируем строку SList

SList="Запущенные процессыnn";

//Цикл по всем элементам коллекции

while (!Processes.atEnd()) {

В //Рзвлекаем текущий элемент коллекции (запущенный процесс)

В Process=Processes.item();

 //Формируем строку с именами процессов

В SList+=Process.Name+"n";

 //Переходим к следующему элементу коллекции

В Processes.moveNext();

}

//Выводим информацию на экран

WScript.Echo(SList);

/*************  Конец *********************************************/

Закрытие всех экземпляров запущенного приложения

WMI позволит нам закрывать сразу все экземпляры какого-либо запущенного приложения.

В сценарии KillNotepads.js мы будем закрывать все копии Блокнота (Notepad.exe). Как и в предыдущем примере, сначала мы соединяемся с WMI внутри блока try конструкции try…catch:

try {

 //Соединяемся с WMI

В WMI=GetObject("winMgmts:");

} catch (e) {

 //Обрабатываем возможные ошибки

В if (e != 0) {

  //Выводим сообщение об ошибке Mess="Ошибка при соединении с WMI";

  WshShell.Popup(Mess, 0, "Закрытие всех Блокнотов", vbCritical);

  //Выходим из сценария

В В WScript.Quit();

В }

}

Далее нам нужно получить коллекцию всех процессов с именем "Notepad.exe". Для этого мы выполняем соответствующий SQL-запрос, текст которого предварительно заносится в переменную SQuery:

//Формируем текст запроса

SQuery="SELECT * FROM Wln32_Process WHERE Name='Notepad.exe'"

//Создаем коллекцию-результат запроса

Processes=new Enumerator(WMI.ExecQuery(SQuery));

Теперь, имея коллекцию нужных нам процессов, мы в цикле while перебираем все ее элементы, вызывая для каждого элемента (запущенного экземпляра Блокнота) метод Terminate(), который завершает этот процесс:

//Цикл по всем элементам коллекции

while (!Processes.atEnd()) {

В //Рзвлекаем текущий элемент коллекции (процесс СЃ именем Notepad.exe)

В Process=Processes.item();

В try {

  //Завершаем процесс

В  Process.Terminate();

В } catch (e) {

  //Обрабатываем возможные ошибки if (e != 0) {

  //Выводим сообщение об ошибке

  Mess="Ошибка при закрытии текущего экземпляра";

  WshShell.Popup(Mess, 0, "Закрытие всех Блокнотов", vbCritical);

В }

}

//Переходим к следующему элементу коллекции

Processes.moveNext();

Полностью текст сценария KillNotepads.js приведен в листинге 11.22.

Листинг 11.22. Закрытие всех запущенных экземпляров Блокнота

/********************************************************************/

/* РРјСЏ: KillNotepads.jsВ В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В  */

/* Язык: JScript                                                    */

/* Описание: Закрытие всех запущенных экземпляров Блокнота          */

/********************************************************************/

var

 WMI,       //Экземпляр WMI

 SQuery,    //Текст запроса

 Processes, //Коллекция процессов

 Process,   //Экземпляр коллекции

 WshShell;  //Объект WshShell

//Рнициализируем константы для диалоговых РѕРєРѕРЅ

var vbCritical=16;

//Создаем объект WshShell

WshShell = WScript.CreateObject("WScript.Shell");


try {

 //Соединяемся с WMI

В WMI=GetObject("winMgmts:");

} catch (e) {  //Обрабатываем возможные ошибки

В if (e != 0) {

  //Выводим сообщение об ошибке

  Mess="Ошибка при соединении с WMI";

  WshShell.Popup(Mess,0,"Закрытие всех Блокнотов",vbCritical);

  //Выходим из сценария

В  WScript.Quit();

В }

}


//Формируем текст запроса 

SQuery="SELECT * FROM Win32_Process WHERE Name='Notepad.exe'"

//Создаем коллекцию-результат запроса

Processes=new Enumerator(WMI.ExecQuery(SQuery));

//Цикл по всем элементам коллекции

while (!Processes.atEnd()) {

В //Рзвлекаем текущий элемент коллекции (процесс СЃ именем Notepad.exe)

В Process=Processes.item();

В try {В 

  //Завершаем процесс

В  Process.Terminate();

 } catch (e) {  //Обрабатываем возможные ошибки

В  if (e != 0) {

   //Выводим сообщение об ошибке

   Mess="Ошибка при закрытии текущего экземпляра";

   WshShell.Popup(Mess,0,"Закрытие всех Блокнотов",vbCritical);

В  }

В }

 //Переходим к следующему элементу коллекции 

В Processes.moveNext();

}

/*************  Конец *********************************************/

Заключение

Для того чтобы автоматизировать и существенно облегчить повседневную работу пользователей и администраторов компьютерных систем, базирующихся на Windows, следует использовать мощные возможности, которые предоставляет сервер сценариев Windows Script Host (WSH), позволяющий создавать полноценные сценарии, работающие непосредственно в операционной системе и использующие внешние объекты ActiveX.

Конечно, написание сценариев WSH по сравнению, скажем, с созданием командных файлов поначалу может показаться довольно непростой задачей — кроме знания специальных языков сценариев (например, VBScript или JScript) и представления об объектах ActiveX, нужно знать, по крайней мере, собственную объектную модель WSH и структуру объекта FileSystemObject. Однако с помощью этих средств уже можно писать сценарии, которые имеют полный доступ к файловой системе компьютера, системному реестру и ресурсам локальной сети.


Андрей Попов читать все книги автора по порядку

Андрей Попов - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки mybooks.club.


Windows Script Host для Windows 2000/XP отзывы

Отзывы читателей о книге Windows Script Host для Windows 2000/XP, автор: Андрей Попов. Читайте комментарии и мнения людей о произведении.

Прокомментировать
Подтвердите что вы не робот:*
Подтвердите что вы не робот:*
Все материалы на сайте размещаются его пользователями.
Администратор сайта не несёт ответственности за действия пользователей сайта..
Вы можете направить вашу жалобу на почту librarybook.ru@gmail.com или заполнить форму обратной связи.