Несколько лет назад компания Microsoft предложила в качестве инструмента разработки и выполнения специальных сценариев для операционной системы Windows сервер сценариев Windows Script Host (WSH), различные версии которого входят в стандартную поставку Windows 98/2000/ХР (до этого на уровне операционной системы поддерживались только пришедшие из MS-DOS командные файлы). Сценарии WSH могут создаваться с помощью специализированных языков (например, Microsoft Visual Basic Script Edition (VBScript) или Microsoft JScript) и использовать любые объекты ActiveX, зарегистрированные в системе, что и определяет чрезвычайно мощные возможности таких сценариев.
Собственная объектная модель WSH позволяет из сценариев работать с файловой системой, системным реестром, специальными папками и ярлыками Windows, ресурсами локальной сети, а также запускать процессы и контролировать ход их выполнения.
Еще одна важная задача, которую решают сценарии WSH, — это организация взаимодействия с разработанными Microsoft современными ActiveX- технологиями:
□ ActiveX Data Object (ADO) — доступ к базам данных разных форматов;
□ Active Directory Service Interface (ADSI) — работа со службами каталогов (Active Directory для Windows 2000, Windows Directory Service для Windows NT 4.0 и т.д.);
□ Windows Management Instrumentation (WMI) — управление операционной системой Windows.
Надо сказать, что в то время как за рубежом сценариям WSH и используемым в них ActiveX-технологиям Microsoft посвящено много серьезных и объемных книг [10, 20–28], на русском языке подобных специальных книг пока немного (переводы книг Г. Борна [3] и Т. Экка [18], а также предыдущая книга автора [8]). В последнее время, правда, появилось довольно много публикаций о WSH, ADSI и WMI в журналах [1, 2, 6, 7, 9–16, 29]; краткое описание WSH и примеры сценариев приводятся в некоторых книгах, посвященных Windows 2000/ХР (например, в [5] имеются примеры работы с системным реестром). Отметим также, что в последней версии WSH 5.6, которая является неотъемлемой частью Windows ХР, появились новые возможности (запуск сценариев на удаленных машинах, использование для сценариев политики ограниченного использования программ и т.д.), описания которых в русскоязычной литературе на момент написания книги автору не встречалось.
Итак, целью настоящей книги является решение следующих задач.
□ Детально описать объектные модели, использующиеся в WSH 5.6 и в технологии Windows Script Components (WSC), и дать примеры использования этих объектных моделей.
□ Привести практические примеры применения в сценариях WSH технологий ADO, ADSI и WMI, а также показать, каким образом из сценариев можно просматривать или изменять файлы в формате XML и управлять приложениями пакета Microsoft Office.
□ Обсудить проблемы безопасности, возникающие при работе с WSH, и описать способы решения этих проблем в Windows ХР.
Для кого предназначена эта книга
Книга может быть полезна пользователям, программистам и администраторам Windows, которые желают получить систематизированную информацию о мощных возможностях ActiveX-сценариев WSH 5.6, а также об использовании в сценариях смежных технологий Microsoft (WMI, ADSI, ADO, WSC).
Информация, представленная в книге, позволяет применять ее и в качестве последовательного руководства по разработке сценариев Windows различной степени сложности (от простых JScript- или VBScript-сценариев, работающих без какого-либо вывода на экран, до многозадачных WS-файлов с XML-разметкой, предоставляющих пользователю полноценный графический интерфейс), и как справочник по объектам и XML-элементам, которые используются в WSH 5.6 (в том числе и для создания СОМ-объектов по технологии WSC).
Многие сценарии, приведенные в книге, могут применяться практически без изменений для решения конкретных практических задач по администрированию Windows (особенно это относится к примерам главы 11). Кроме этого, сведения, которые приведены в главе 4, помогут администраторам настроить политику безопасности для работы со сценариями WSH.
При изучении материала книги от читателя может потребоваться некоторое знакомство с языками JScript и VBScript (краткие справочники по этим языкам включены в приложения), а также понимание основ объектно-ориентированного программирования и СОМ-технологий.
В главе 1 приводятся начальные сведения о назначении и возможностях WSH. Здесь показан процесс создания и запуска простейших сценариев на языках VBScript и JScript. Основная часть главы 1 посвящена рассмотрению собственных объектов WSH. Подробно описаны свойства и методы этих объектов, с помощью которых в сценариях можно:
□ использовать внешние объекты ActiveX и ресурсы локальной сети;
□ выводить информацию в стандартный выходной поток или в окно Windows;
□ считывать данные из стандартного входного потока;
□ получать доступ к специальным папкам Windows и системному реестру;
□ создавать или изменять переменные среды и ярлыки Windows;
□ запускать процессы на локальной или удаленной рабочей станции.
В главе 2 рассмотрены примеры сценариев, в которых используются стандартные объекты WSH (каждый из примеров реализован как на языке JScript, так и на языке VBScript). Среди прочих задач здесь освещены такие новые возможности WSH 5.6, как использование входных и выходных потоков дочерних приложений и контроль за ходом выполнения сценариев, запущенных на удаленном компьютере.