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

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

Жанры

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

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

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

Бастард Императора. Том 6

Орлов Андрей Юрьевич
6. Бастард Императора
Фантастика:
городское фэнтези
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Бастард Императора. Том 6

Элизиум. Аликс и монеты

Андерсон Александр
1. Элизиум
Фантастика:
фэнтези
сказочная фантастика
8.98
рейтинг книги
Элизиум. Аликс и монеты

Прапорщик. Назад в СССР. Книга 6

Гаусс Максим
6. Второй шанс
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Прапорщик. Назад в СССР. Книга 6

Камень

Минин Станислав
1. Камень
Фантастика:
боевая фантастика
6.80
рейтинг книги
Камень

Ваше Сиятельство

Моури Эрли
1. Ваше Сиятельство
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Ваше Сиятельство

Шайтан Иван 4

Тен Эдуард
4. Шайтан Иван
Фантастика:
попаданцы
альтернативная история
8.00
рейтинг книги
Шайтан Иван 4

Сирота

Шмаков Алексей Семенович
1. Светлая Тьма
Фантастика:
юмористическое фэнтези
городское фэнтези
аниме
5.00
рейтинг книги
Сирота

Локки 10. Потомок бога

Решетов Евгений Валерьевич
10. Локки
Фантастика:
фэнтези
юмористическое фэнтези
героическая фантастика
боевая фантастика
5.00
рейтинг книги
Локки 10. Потомок бога

Сын счастья

Вассму Хербьёрг
2. Книга Дины
Проза:
современная проза
5.00
рейтинг книги
Сын счастья

Страж Кодекса

Романов Илья Николаевич
1. КО: Страж Кодекса
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Страж Кодекса

Страж Кодекса. Книга II

Романов Илья Николаевич
2. КО: Страж Кодекса
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Страж Кодекса. Книга II

Бандит 2

Щепетнов Евгений Владимирович
2. Петр Синельников
Фантастика:
боевая фантастика
5.73
рейтинг книги
Бандит 2

Вечный. Книга III

Рокотов Алексей
3. Вечный
Фантастика:
фэнтези
попаданцы
рпг
5.00
рейтинг книги
Вечный. Книга III

Кодекс Охотника XXXI

Винокуров Юрий
31. Кодекс Охотника
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Кодекс Охотника XXXI