Введение Для кого предназначена эта книга Структура книги Принятые в книге соглашения Благодарности Глава 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 Зарубежные сайты Российские сайты
Назначение и основные свойства WSH WSH предъявляет минимальные требования к объему оперативной памяти и является очень удобным инструментом для автоматизации повседневных задач пользователей и администраторов операционной системы Windows. Используя сценарии WSH, можно непосредственно работать с файловой системой компьютера, а также управлять работой других приложений (серверов автоматизации). При этом возможности сценариев ограничены только средствами, которые предоставляют доступные серверы автоматизации.
Перечислим только наиболее очевидные задачи, для автоматизации которых прекрасно подходят сценарии WSH.
□ Организация резервного копирования на сетевой сервер файлов с локальной машины, которые отбираются по какому-либо критерию.
□ Быстрое изменение конфигурации рабочего стола Windows в зависимости от задач, выполняемых пользователем.
□ Автоматический запуск программ Microsoft Office, создание там сложных составных документов, распечатка этих документов и закрытие приложений.
□ Управление работой приложений, не являющихся серверами автоматизации, с помощью посылки в эти приложения нажатий клавиш.
□ Подключение и отключение сетевых ресурсов (дисков и принтеров).
□ Создание сложных сценариев регистрации для пользователей.
□ Выполнение задач администрирования локальной сети (например, добавление или удаление пользователей).