Введение Для кого предназначена эта книга Структура книги Принятые в книге соглашения Благодарности Глава 1 Первое знакомство с Windows Script Host Возможности технологии ActiveX Нумерация версий WSH Назначение и основные свойства WSH Создание и запуск простейших сценариев JScript и VBScript Запуск сценария из командной строки в консольном режиме Запуск сценария из командной строки в графическом режиме Запуск сценария с помощью меню Пуск Запуск сценария с помощью Проводника Windows (Windows Explorer) Установка и изменение свойств сценариев Свойства и параметры сценариев, выполняемых с помощью cscript.exe Свойства и параметры сценариев, выполняемых с помощью wscript.exe Стандартные объекты WSH5.6 Объект WScript Свойство Arguments Свойства StdErr, StdIn, StdOut Метод CreateObject Метод ConnectObject Метод DisconnectObject Метод Echo Метод Sleep Объекты-коллекции Объект WshArguments Объект WshNamed Объект WshUnnamed Объект WshEnvironment Объект WshSpecialFolders Работа с сетью и оболочкой Windows Объект WshNetwork Метод AddPrinterConnection Метод AddWindowsPrinterConnection Метод EnumNetworkDrives Метод EnumPrinterConnections Метод MapNetworkDrive Метод RemoveNetworkDrive Метод RemovePrinterConnection Метод SetDefaultPrinter Объект WshShell Метод АррActivate Метод CreateShortcut Метод Environment Метод ExpandEnvironmentString Метод LogEvent Метод Popup Метод RegDelete Метод RegRead Метод RegWrite Метод Run Метод SendKeys Работа с ярлыками Объект WshShortcut Свойство Arguments Свойство HotKey Свойство IconLocation Свойство WindowStyle Свойство WorkingDirectory Объект WshUrlShortcut Запуск процессов на локальной и удаленной машине Объект WshScriptExec Свойство ProcessID Свойство Status Свойства StdOut, StdIn и StdErr Объект WshController Объект WshRemote Объект WshRemoteError Глава 2 Примеры использования стандартных объектов WSH (JScript и VBScript) Вывод на экран текстовых строк Метод Echo объекта WScript Методы Write и WriteLine объекта WScript.StdOut Функция MsgBox языка VBScript Метод Popup объекта WshShell Ввод строк текста Ввод строк в консольном режиме Ввод строк в графическом режиме Получение свойств WSH и запущенного сценария Работа с параметрами командной строки сценария Выход из сценария с определенным кодом завершения Использование внешних объектов автоматизации (на Microsoft Word) Запуск из сценариев внешних программ Запуск приложений Windows Переключение между приложениями, имитация нажатий клавиш Запуск независимых консольных приложений и команд DOS Запуск дочерних консольных приложений и команд DOS, использование их входных и выходных потоков Доступ к специальным папкам Windows ХР Создание ярлыков в специальных папках Работа с системным реестром Windows Работа с ресурсами локальной сети Определение имен рабочей станции, пользователя и домена Получение списка подключенных сетевых дисков и принтеров Подключение и отключение сетевых дисков и принтеров Запуск сценариев на удаленных машинах. Контроль за ходом выполнения таких сценариев Глава 3 Сценарии WSH как приложения XML Основные принципы XML Схема WS XML Элементы WS-файла Элементы lt;?xml?gt; и lt;![CDATA[]]gt; Элемент lt;?job?gt; Элемент lt;packagegt; Элемент lt;jobgt; Элемент lt;runtimegt; Элемент lt;namedgt; Элемент lt;unnamedgt; Элемент lt;descriptiongt; Элемент lt;examplegt; Элемент lt;resourcegt; Элемент lt;objectgt; Элемент lt;referencegt; Элемент lt;scriptgt; Примеры сценариев с разметкой XML Строгий режим обработки WS-файла Несколько заданий в одном файле Использование констант внешних объектов Подключение внешних файлов Два языка внутри одного задания (использование функции InputBox языка VBScript в сценариях JScript) Глава 4 Безопасность при работе со сценариями WSH Шифрование сценариев Цифровая подпись для сценариев WSH Использование цифровых сертификатов в Windows Способы получения цифрового сертификата Создание собственного сертификата Управление сертификатами с помощью ММС Добавление к сценарию цифровой подписи Проверка цифровой подписи сценария Политики безопасности для сценариев WSH Параметры реестра, влияющие на политику безопасности для WSH Блокировка локальных и удаленных сценариев WSH. Пример административного шаблона Три режима выполнения сценариев WSH Протоколирование действий сценариев в журналах событий Применение к сценариям WSH политики ограниченного использования программ Блокировка сценария с заданным именем Блокировка сценариев с заданной подписью Глава 5 Доступ из сценариев к файловой системе Выполнение основных операций с файловой системой Объект FileSystemObject Методы CopyFile и CopyFolder Метод CreateTextFile Методы DeleteFile и DeleteFolder Метод DriveExists Метод GetAbsolutePathName Метод GetBaseName Метод GetDrive Метод GetParentFolderName Метод GetSpecialFolder Метод GetTempName Методы MoveFile и MoveFolder Метод OpenTextFile Объект Drive Коллекция Drives Объект Folder Метод Copy Метод Delete Метод Move Коллекция Folders Объект File Метод Copy Метод Delete Метод Move Метод OpenAsTextStream Коллекция Files Объект TextStream Примеры сценариев Отчет об использовании дискового пространства Удаление ненужных временных файлов с жесткого диска Поиск файлов с использованием регyлярных выражений Перемещение файлов с ведением журнала действий Разработка записной книжки в формате текстового файла Глава 6 Практическая работа с данными в XML-файлах Записная книжка в формате XML Просмотр XML-файла с помощью объектной модели Internet Explorer 4.0 Описание объектной модели Пример сценария Использование XML DOM для просмотра и изменения ХМL-файла Описание модели XML DOM Просмотр содержимого записной книжки Добавление информации в записную книжку Поиск и удаление записи из книжки Глава 7 Способы организации диалогового режима работы сценариев Многозадачный сценарий для работы с записной книжкой Обработка параметров командной строки Организация диалога с помощью кнопочного меню Однозадачный сценарий для работы с записной книжкой Использование Internet Explorer для создания диалоговых окон Разработка HTML-формы для диалогового окна Создание объекта для обмена данными между XML-файлом и формой Вывод формы из сценария WSH Обработка событий, генерируемых элементами управления формы Окончательная доработка сценария IEPhoneBook.js Глава 8 Взаимодействие сценариев с Microsoft Office Объектные модели Microsoft Word и Excel Вывод данных из записной книжки в документ Microsoft Word Вывод записей в виде обычного текста Вывод записей в таблицу Вывод данных из записной книжки в таблицу Microsoft Excel Глава 9 Использование в сценариях баз данных Создание таблицы Phone.dbf в Microsoft Access Настройка источника данных ODBC Примеры сценариев Копирование данных из XML-файла в таблицу БД Просмотр записей в таблице Получение информации о полях и записях таблицы Сортировка записей в таблице Фильтрация записей в таблице Перемещение в наборе записей Доступ к БД без создания DSN Глава 10 Разработка СОМ-объектов с помощью языков сценариев Технология Windows Script Components Схема WSC XML Элементы WSC-файла Элементы lt;?xml?gt; и lt;![CDATA[]]gt; Элемент lt;package gt; Элемент lt;componentgt; Элемент lt;registrationgt; Элемент lt;publicgt; Элемент lt;propertygt; Элемент lt;methodgt; Элемент lt;eventgt; Элементы lt;resourcegt; , lt;objectgt; и lt;referencegt; Элемент lt;scriptgt; Пример: СОМ-объект для архивирования файлов Создание макета файла DateArc.wsc с помощью Windows Script Component Wizard (JScript) Доработка объекта-сценария DateArc.wsc (JScript) Регистрация файла DateArc.wsc в качестве СОМ-объекта Реализация объекта DateArc.wsc на VBScript Глава 11 Применение сценариев WSH для администрирования Windows ХР Использование службы каталогов Active Directory Service Interface (ADSI) Связывание с нужным объектом каталога Список всех доступных доменов в локальной сети Создание пользователя и группы на рабочей станции Вывод информации о пользователе и смена его пароля Удаление пользователя и группы на рабочей станции Список всех групп на рабочей станции Список всех пользователей в группе Список всех групп, в которые входит пользователь Создание сценариев включения/выключения и входа/выхода Сценарии, выполняемые при загрузке операционной системы Сценарии, выполняемые при завершении работы операционной системы Сценарии входа для всех локальных пользователей Сценарий выхода для всех локальных пользователей Сценарий входа для одного пользователя Примеры сценариев входа/выхода Подключение сетевых дисков и синхронизация времени при регистрации пользователей Интерактивный выбор программ автозагрузки Резервное копирование документов пользователя при окончании сеанса работы Вызов системных функций и стандартных диалоговых окон оболочки Windows Вызов модулей панели управления Запуск с помощью оболочки Windows Запуск с помощью системных функций Windows Открытие папки в Проводнике Windows Вызов окна форматирования диска Вызов окна запуска программ Блокировка рабочей станции Вызов окна выключения компьютера Использование технологии Windows Management Instrumentation (WMI) Доступ к свойствам файла Список всех запущенных процессов Закрытие всех экземпляров запущенного приложения Заключение Приложение 1 Справочник по языку JScript Строки кода и комментарии Переменные Типы данных Числа Текстовые строки Объекты Логические данные Null (пустой тип) и undefined (неопределенный тип) Преобразование типов данных Операторы Унарные операторы Бинарные операторы Операторы побитовых логических операций и сдвига Операторы присваивания Операторы отношения Условные операторы Операторы циклов Цикл for Цикл for…in Цикл while Цикл do…while Оператор break Оператор continue Прочие операторы Обработка исключительных ситуаций Порядок выполнения операторов Функции Встроенные функции Функции пользователя Встроенные объекты (классы) Объект Array Объект Date Объект Enumerator Объект Math Объект String Приложение 2 Справочник по языку VBScript Строки кода и комментарии Переменные Подтипы данных Константы Массивы Операторы Арифметические операторы Операторы отношения и логические операторы Условные операторы Операторы циклов Цикл For…Next Цикл For Each…Next Цикл While…Wend Цикл Do…Loop Прочие операторы Обработка исключительных ситуаций Процедуры и функции Математические функции Символьные функции Функции для работы с массивами Функции для работы с подтипами данных Прочие функции Функции и процедуры пользователя Приложение 3 Средства разработки и отладки сценариев Создание и редактирование сценариев Редактор Primalscript Создание нового одиночного сценария Открытие существующего одиночного сценария Создание нового WS-файла Открытие существующего WS-файла Редактирование WS-файла на панели Workspace Nexus Запуск одиночного сценария Запуск задания из WS-файла Подписывание сценариев Возможности пользовательского интерфейса Другие редакторы Отладка сценариев в Microsoft Script Debugger Активизация отладчика Команды отладчика Установка и удаление точек прерывания Выполнение сценария Просмотр стека вызовов Просмотр и изменение значений переменных Приложение 4 Ошибки выполнения сценариев в WSH Приложение 5 Описание прилагаемой дискеты Источники информации Список литературы Ссылки на ресурсы Internet Журналы и статьи Сайты компании Microsoft Зарубежные сайты Российские сайты
Возможности технологии ActiveX Напомним, что в Windows с самого начала для обеспечения обмена данными между приложениями была разработана технология связывания и внедрения объектов (OLE, Object Linking and Embedding). Вначале технология OLE использовалась для создания составных документов, а затем для решения более общей задачи — предоставления приложениями друг другу собственных функций (служб) и правильного использования этих функций. Технология, позволяющая одному приложению (клиенту автоматизации), вызывать функции другого приложения (сервера автоматизации) , была названа OLE Automation. В основе OLE и OLE Automation лежит разработанная Microsoft базовая "компонентная" технология COM (Component Object Model).
В общих словах, компонентное программное обеспечение — это способ разработки программ, при котором используются технологии создания программных модулей, подобные технологиям, применяемым для разработки аппаратных средств. Сложные элементные схемы собираются из стандартизированных микросхем, которые имеют четко определенные документированные функции. Разработчик может эффективно пользоваться такими микросхемами, не задумываясь об их внутренней структуре. В программных компонентах, написанных на каком-либо языке программирования, детали реализации используемых алгоритмов также скрыты внутри компонента (объекта), а на поверхности находятся общедоступные интерфейсы , которыми могут пользоваться и другие приложения, написанные на том же или другом языке.
В настоящее время, по заявлению Microsoft, термин OLE используется только по историческим причинам. Вместо него Microsoft с 1996 года применяет новый термин — ActiveX, первоначально обозначавший WWW (World Wide Web) компоненты (объекты), созданные на базе технологии СОМ.
Технология ActiveX до последнего времени являлась ключевой в продуктах Microsoft. Наиболее полное воплощение она нашла в программах Microsoft Office, Internet Explorer, IIS (Internet Information Service). В эти продукты для управления соответствующими объектами автоматизации были встроены интерпретаторы специальных языков сценариев: VBScript (используется в Microsoft Office, Internet Explorer, IIS) и JScript (используется в Internet Explorer, IIS). Однако непосредственно в операционной системе, вне этих продуктов, выполнять сценарии, написанные на VBScript или JScript, было нельзя.
Сервер сценариев WSH является мощным инструментом, предоставляющим единый интерфейс (объектную модель) для специализированных языков (VBScript, JScript, PerlScript, REXX, TCL, Python и т.п.), которые, в свою очередь, позволяют использовать любые внешние объекты ActiveX. С помощью WSH сценарии могут быть выполнены непосредственно в операционной системе Windows, без встраивания в HTML-страницы.