Шрифт:
Интервал:
Закладка:
В if (IsBreak) break;
 if (theJob.status==1) //Проверяем, не завершилась ли запущенная задача
В IsBreak=true;
В else WScript.Sleep(100);
}
//Преобразуем сформированные строки в Windows-кодировку
//и выводим их на экран
WScript.Echo(DosToWin(s));
/************* Конец *********************************************/
Таким образом, можно с помощью метода Exec запустить утилиту командной строки, передавать ей нужную входную информацию с помощью свойства StdIn и с помощью свойства StdOut получать и анализировать выдаваемые этой утилитой строки (соответствующие примеры приведены также в листингах 2.37 и 2.38).
Объект WshController
Объект WshController имеет единственный метод CreateScript и предназначен для создания объекта-сценария на удаленной машине.
Замечание
В силу соображений безопасности удаленные сценарии можно запускать только с машин, на которых установлена операционная система Windows NT/2000/XP; то же самое требование предъявляется к машинам, на которых должны выполняться такие сценарии. Кроме этого, после начальной установки WSH по умолчанию выполнение удаленных сценариев запрещено; действия, которые необходимо произвести для разрешения выполнения таких сценариев, описаны в главе 2.
Создается объект 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 (если это не срабатывает, процесс завершается принудительно).
- Серверные технологии хранения данных в среде Windows® 2000 Windows® Server 2003 - Наик Дайлип - Программное обеспечение
- Изучаем Windows Vista. Начали! - Дмитрий Донцов - Программное обеспечение
- Создание и обслуживание сетей в Windows 7 - Александр Ватаманюк - Программное обеспечение
- Windows XP. От простого к сложному - Антон Белоусов - Программное обеспечение
- Реестр Windows XP. Трюки и эффекты - Алексей Гладкий - Программное обеспечение
- Ваш персональный компьютер: настраиваем в домашних условиях - Андрей Кашкаров - Программное обеспечение
- Виртуальные машины: несколько компьютеров в одном - Алексей Гультяев - Программное обеспечение
- Евгений Яворских Пингвиний BUNT - Евгений Яворских - Программное обеспечение
- Руководство по переходу на Ubuntu 10.04 LTS «Lucid Lynx» - Вадим Неворотин - Программное обеспечение
- Linux - Алексей Стахнов - Программное обеспечение