Чтение онлайн

на главную - закладки

Жанры

Windows Script Host для Windows 2000/XP

Попов Андрей Викторович

Шрифт:

Создается объект WshController следующим образом:

var WshController=WScript.CreateObject("WshController");

Замечание

Обратите внимание, что для объекта

WshController
программным идентификатором (ProgID) является именно строка "
WshController
", а не строка "
WScript.WshController
", как указано в бета-версии документации на WSH 5.6.

Метод

CreateScript
возвращает указатель на объект
WshRemote
, с помощью которого можно контролировать состояние удаленного сценария и управлять его выполнением. При выполнении этого метода WSH последовательно производит следующие действия:

подготавливает файл со сценарием для пересылки на удаленную станцию;

с помощью протокола DCOM создает экземпляр объекта

WshRemote
на удаленной машине;

пересылает сценарий на удаленную станцию для последующего выполнения с помощью метода

Execute
объекта
WshRemote
.

Синтаксис метода

CreateScript
:

CreateScript(CommandLine, [MachineName])

Параметр

CommandLine
содержит командную строку для запуска сценария, который должен быть выполнен на удаленной станции. Путь к сценарию должен быть указан относительно локальной машины, а не относительно той станции, на которой должен выполняться сценарий. Чаще всего этот путь указывает на файл, находящийся непосредственно на локальном компьютере, хотя можно указать путь к сценарию, записанному на каком-либо общем сетевом ресурсе (это делает возможным, работая на одном компьютере, загружать сценарий с другого и выполнять этот сценарий на третьем компьютере в сети).

Второй необязательный параметр

MachineName
задает имя компьютера, на котором должен быть запущен сценарий. Если этот параметр не указан, то сценарий будет выполняться на локальной машине.

Объект WshRemote

Объект

WshRemote
необходим для контроля состояния сценариев, которые запущены на удаленной машине. В результате запуска такого сценария на удаленной машине создается процесс, поэтому можно сказать, что экземпляром объекта
WshRemote
, соответствующего выполняющемуся сценарию, является процесс. Создается
WshRemote
с помощью метода
CreateScript
объекта
WshController
:

var Controller,RemoteScript;

Controller=WScript.CreateObject("WshController");

RemoteScript=Controller.CreateScript("d: WscriptsWMyScript.js", "Server1");

Объект

WshRemote
имеет два свойства:
Error
и
Status
.

В свойстве

Error
хранится ссылка на объект
WshRemoteError
, который содержит информацию об ошибке, приведшей к аварийному завершению работы удаленного сценария.

Числовое свойство

Status
позволяет определить состояние сценария, работающего асинхронно на удаленной машине. Возможные значения свойства
Status
приведены в табл. 1.19.

Таблица 1.19. Значения параметра

Status

Значение Числовое значение Описание
NoTask
0 Объект
WshRemote
, соответствующий удаленному сценарию, создан, однако сценарий еще не запущен
Running
1 Выполнение удаленного сценария продолжается
Finished
2 Удаленный сценарий завершен

Два имеющихся у объекта

WshRemote
метода позволяют соответственно запустить удаленный сценарий (метод
Execute
) или принудительно завершить его выполнение (метод
Terminate
); оба эти метода не имеют параметров. Метод
Terminate
, подобно одноименному методу объекта
WshScriptExec
, пытается закрыть приложение, посылая ему сообщение
WM_CLOSE
(если это не срабатывает, процесс завершается принудительно).

Кроме свойств и методов, объект WshRemote может генерировать три события, которые описаны в табл. 1.20.

Таблица 1.20. События объекта

WshRemote

Событие Описание
Start
Возникает при вызове метода
Execute
и сигнализирует серверу сценариев о начале выполнения сценария на удаленной машине
Error
Возникает в том случае, когда выполнение сценария на удаленной машине завершается аварийно
End
Возникает при завершении (нормальном или аварийном) работы сценария на удаленной машине

Для обработки в сценариях событий, приведенных в табл. 1.20, необходимо подключиться к объекту WshRemote с помощью метода ConnectObject объекта WScript (листинг 1.28).

Листинг 1.28. Обработка событий объекта WshRemote (JScript)

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

/* Имя: 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; //Выходим из сценария

/*************** Функции-обработчики событий ***********************/

Поделиться:
Популярные книги

Имперец. Том 3

Романов Михаил Яковлевич
2. Имперец
Фантастика:
боевая фантастика
попаданцы
альтернативная история
7.43
рейтинг книги
Имперец. Том 3

Кодекс Охотника. Книга XXXVIII

Винокуров Юрий
38. Кодекс Охотника
Фантастика:
фэнтези
боевая фантастика
попаданцы
юмористическое фэнтези
5.00
рейтинг книги
Кодекс Охотника. Книга XXXVIII

Темные тропы и светлые дела

Владимиров Денис
3. Глэрд
Фантастика:
фэнтези
боевая фантастика
попаданцы
5.00
рейтинг книги
Темные тропы и светлые дела

Гримуар темного лорда III

Грехов Тимофей
3. Гримуар темного лорда
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Гримуар темного лорда III

Мастер 11

Чащин Валерий
11. Мастер
Фантастика:
боевая фантастика
попаданцы
технофэнтези
аниме
фэнтези
5.00
рейтинг книги
Мастер 11

Я все еще не царь. Книга XXVI

Дрейк Сириус
26. Дорогой барон!
Фантастика:
попаданцы
аниме
5.00
рейтинг книги
Я все еще не царь. Книга XXVI

Я – Легенда 2: геном хищника

Гарцевич Евгений Александрович
2. Я - Легенда!
Фантастика:
боевая фантастика
рпг
фантастика: прочее
попаданцы
5.00
рейтинг книги
Я – Легенда 2: геном хищника

Матабар IV

Клеванский Кирилл Сергеевич
4. Матабар
Фантастика:
фэнтези
5.00
рейтинг книги
Матабар IV

Сирийский рубеж

Дорин Михаил
5. Рубеж
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Сирийский рубеж

Изгой Проклятого Клана. Том 6

Пламенев Владимир
6. Изгой
Фантастика:
аниме
фэнтези
фантастика: прочее
попаданцы
5.00
рейтинг книги
Изгой Проклятого Клана. Том 6

На границе империй. Том 7. Часть 2

INDIGO
8. Фортуна дама переменчивая
Фантастика:
космическая фантастика
попаданцы
6.13
рейтинг книги
На границе империй. Том 7. Часть 2

Адвокат

Константинов Андрей Дмитриевич
1. Бандитский Петербург
Детективы:
боевики
8.00
рейтинг книги
Адвокат

Зеркало силы

Кас Маркус
3. Артефактор
Фантастика:
городское фэнтези
попаданцы
аниме
5.00
рейтинг книги
Зеркало силы

Законы Рода. Том 6

Мельник Андрей
6. Граф Берестьев
Фантастика:
юмористическое фэнтези
аниме
5.00
рейтинг книги
Законы Рода. Том 6