Андрей Попов - Windows Script Host для Windows 2000/XP
- Название:Windows Script Host для Windows 2000/XP
- Автор:
- Жанр:
- Издательство:БХВ-Петербург
- Год:2004
- Город:Санкт-Петербург
- ISBN:5-94157-197-6
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Андрей Попов - Windows Script Host для Windows 2000/XP краткое содержание
В книге описывается сервер сценариев 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 - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
/**********************************************************************/
/* Имя: RemoteEvents.js */
/* Язык: JScript */
/* Описание: Обработка событий, возникающих при выполнении удаленного */
/* сценария */
/**********************************************************************/
Var Controller,RemScript,IsQuit; //Объявляем переменные
//Создаем объект WshController
Controller = WScript.CreateObject("WshController");
//Создаем сценарий на удаленной машине (объект WshRemote)
RemScript = Controller.CreateScript("D:\RemoteScript.js ", "stand");
//Устанавливаем соединение с объектом WshRemote
WScript.ConnectObject(RemScript, "RemoteScript_");
RemScript.Execute(); //Запускаем удаленный сценарий
IsQuit = False;
while (!IsQuit) WScript.Sleep(100); //Приостанавливаем сценарий на 0,1 сек
WScript.Quit(); //Выходим из сценария
/*************** Функции-обработчики событий ***********************/
function RemoteScript_End { //Событие End
WScript.Echo("Выполнение удаленного сценария завершено");
IsQuit = True;
}
function RemoteScript_Error { //Событие Error
//Выводим на экран описание возникшей ошибки
WScript.Echo("Ошибка при выполнении удаленного сценария: " +
RemScript.Error.Description);
IsQuit = True;
}
function RemoteScript_Start { //Событие Start
WScript.Echo("Удаленный сценарий запущен");
}
/************* Конец *********************************************/
Объект WshRemoteError
Объект WshRemoteError
создается автоматически при возникновении ошибки во время выполнения сценария на удаленной машине и содержит информацию об этой ошибке. Ссылка на объект WshRemoteError
хранится в свойстве Error
соответствующего объекта WshRemote
.
Свойства объекта WshRemoteError
описаны в табл. 1.21 (методов у этого объекта нет).
Таблица 1.21.Свойства объекта WshRemoteError
Свойство | Описание |
---|---|
Description |
Содержит краткое описание ошибки, которая привела к аварийному завершению работы сценария. Если для какой-либо ошибки описание не предусмотрено, Description содержит пустую строку |
Line |
Определяет номер строки в файле сценария, в которой произошла ошибка. Если для ошибки нельзя определить номер строки, в которой она произошла, в свойство Line записывается 0 |
Character |
Определяет номер символа в строке, в котором произошла ошибка. Если для ошибки нельзя определить точную позицию, в которой она возникла, в свойство Character записывается 0 |
Number |
Содержит числовой код ошибки |
SourceText |
Содержит в текстовом виде строку сценария, в которой возникла ошибка. Так как не всегда возможно точно определить строку, в которой произошла ошибка, то иногда значением свойства SourceText может быть пустая строка |
Source |
Содержит в символьном виде название СОМ-объекта, обращение к которому послужило источником ошибок |
Для получения информации о возникшей при выполнении удаленного сценария ошибке можно использовать обработчик события Error
объекта WshRemote
; соответствующие примеры приведены в листингах 1.28, 2.56 и 2.57.
Глава 2
Примеры использования стандартных объектов WSH (JScript и VBScript)
В этой главе мы на примерах подробно рассмотрим, как с помощью стандартных объектов WSH 5.6, описание которых приведено в главе 1, можно решать некоторые практические задачи, связанные, в частности, с выводом и вводом текстовой информации, запуском других приложений (как на локальной, так и на удаленной машине), созданием ярлыков в различных папках, работой с системным реестром и локальной сетью. Практически все сценарии приведены как на языке JScript, так и на VBScript, и снабжены подробными комментариями.
Вывод на экран текстовых строк
Сформированные в сценарии строки текста можно выводить в стандартный выходной поток (в консольном режиме) или в графическое диалоговое окно несколькими способами:
□ с помощью метода Echo
объекта WScript
;
□ с помощью методов Write
и WriteLine
объекта WScript.StdOut
;
□ с помощью функции MsgBox
языка VBScript;
□ с помощью метода Popup
объекта WshShell
.
Метод Echo объекта WScript
Примеры использования метода WScript.Echo
в сценариях, написанных на языках JScript и VBScript, представлены соответственно в листингах 2.1 и 2.2.
Для корректного отображения с помощью метода Echo символов кириллицы, эти символы должны быть представлены в Windows-кодировке (CP 1251).
WScript.Echo
(JScript)/*******************************************************************/
/* Имя: Echo1.js */
/* Язык: JScript */
/* Описание: Пример использования метода WScript.Echo */
/*******************************************************************/
//Печатаем строку текста (кириллица)
WScript.Echo("Использование метода Echo (Win-кодировка)");
//Печатаем строку текста и результат вычислений
WScript.Echo("Например, 1+2=",1+2);
/************* Конец *********************************************/
'*******************************************************************
' Имя: Echo1.vbs
' Язык: VBScript
' Описание: Пример использования метода WScript.Echo
'*******************************************************************
' Печатаем строку текста (кириллица)
WScript.Echo "Использование метода Echo (Win-кодировка)"
' Печатаем строку текста и результат вычислений
WScript.Echo "Например, 1+2=",1+2
'************* Конец *********************************************
Если сценарий Echo1.js (Echo1.vbs) был запущен с помощью cscript.exe, то строки выводятся в командное окно (рис. 2.1).
Если же этот сценарий выполнялся с помощью wscript.exe, то строки по очереди выводятся в диалоговые окна с единственной кнопкой OK(рис. 2.2).
Часто бывает необходимо выводить в диалоговое окно не по одной строке текста, а сразу несколько таких строк (рис. 2.3). Для этого нужно формировать строки, содержащие символы перевода строки: escape-последовательность " \n
" для JScript и предопределенная именованная константа vbCrLf
для VBScript (соответствующие примеры сценариев приведены в листингах 2.3 и 2.4).
Интервал:
Закладка: