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

Тут можно читать онлайн Андрей Попов - Windows Script Host для Windows 2000/XP - бесплатно полную версию книги (целиком) без сокращений. Жанр: comp-osnet, издательство БХВ-Петербург, год 2004. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    Windows Script Host для Windows 2000/XP
  • Автор:
  • Жанр:
  • Издательство:
    БХВ-Петербург
  • Год:
    2004
  • Город:
    Санкт-Петербург
  • ISBN:
    5-94157-197-6
  • Рейтинг:
    3.8/5. Голосов: 101
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 80
    • 1
    • 2
    • 3
    • 4
    • 5

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

Windows Script Host для Windows 2000/XP - описание и краткое содержание, автор Андрей Попов, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

В книге описывается сервер сценариев 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 - читать книгу онлайн бесплатно, автор Андрей Попов
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

//Определяем, доступен ли файл для чтения и записи

SInfo+="\n";

if (File.Readable) SInfo+="Файл доступен для чтения\n"

else SInfo+="Файл не доступен для чтения\n";

if (File.Writeable) SInfo+="Файл доступен для записи\n"

else SInfo+="Файл не доступен для записи\n";

//Выводим сформированную строку на экран

WScript.Echo(SInfo);

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

Список всех запущенных процессов

В следующих двух примерах мы будем работать с запущенными в операционной системе процессами.

Создадим сценарий ListProcesses.js, который будет выводить на экран имена всех запущенных процессов (рис. 11.29).

Рис 1129Список всех запущенных в системе процессов Первое что необходимо - фото 165

Рис. 11.29.Список всех запущенных в системе процессов

Первое, что необходимо сделать в сценарии — подключиться к службе Windows Management service, т.е. создать корневой элемент WMI, который содержит в себе все остальные.

Для этого в качестве параметра функции GetObject()указывается " winMgmts:"; в нашем примере мы соединяемся с WMI внутри блока try, что позволяет обработать возможные исключительные ситуации:

try {

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

WMI=GetObject("winMgmts:");

} catch (e) {

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

if (е != 0) {

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

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

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

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

WScript.Quit();

}

}

Запущенным процессам соответствует класс Processсхемы Win32. Коллекция всех процессов создается с помощью выполнения следующего SQL-запроса:

SELECT * FROM Win32 Process

Таким образом, можно сказать, что класс Win32_Processявляется аналогом таблицы базы данных; сам запрос выполняется с помощью метода ExecQuery():

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

После создания коллекции мы просматриваем в цикле whileвсе ее элементы, каждый из которых соответствует одному процессу, и добавляем имя процесса, хранящееся в свойстве Name, к переменной SList:

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

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

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

while (!Processes.atEnd()) {

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

Process=Processes.item();

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

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

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

Processes.moveNext();

}

После выхода из цикла переменная SInfoвыводится на экран с помощью метода Echo()объекта WScript:

WScript.Echo(SInfo);

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

Листинг 11.21. Вывод на экран списка всех запущенных процессов

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

/* Имя: ListProcesses.js */

/* Язык: JScript */

/* Описание: Вывод на экран списка всех запущенных на локальной */

/* рабочей станции процессов */

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

var

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

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

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

SList; //Строка для вывода на экран

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

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="Запущенные процессы\n\n";

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

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, //Экземпляр коллекции

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


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

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




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


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


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x