Академия Специальных Курсов по Компьютерным Технологиям
    Главная страница Послать письмо
 
AskIt.ru  
   
   
   
   
   
   
 
 
  Главная / Заказные курсы / Программирование для администраторов
 
 

Получить учебные материалы по этому курсу


<-- Назад Читать дальше -->

1. Введение в WSH. Обзор технологий скриптинга

Скрипты (сценарии) Windows, применение WSH (Windows Scripting Host), альтернативные средства, cscript.exe и wscript.exe, средства для работы со скриптами, Sapien PrimalScript

Главное назначение скриптов - автоматизация повторяющихся действий. Очень многие действия, которые приходится выполнять администратору на предприятии, являются повторяющимися:

  • резервное копирование и восстановление;
  • установка ПО на компьютеры и настройка компьютеров;
  • установка патчей для операционной системы и приложений;
  • загрузка и выгрузка данных;
  • настройка рабочей среды пользователя;
  • выполнение инвентаризаций и проверок;
  • предоставление пользователям разрешений и квот;
  • работа с журналами событий - просмотр, архивирование, очистка и т.п.;
  • рассылка пользователям сообщений (например, по электронной почте);
  • проверка содержимого файл-серверов и упорядочивание их содержимого;
  • мониторинг производительности серверов и отдельных приложений;
  • настройка IP-адресов, других параметров настроек TCP/IP и сетевых служб;
  • установка и настройка принтеров, решение возникающих с ними проблем;
  • мониторинг работы служб и приложений, обеспечение немедленного реагирования на возникающие проблемы;
  • управления учетными записями пользователей, групп компьютеров в доменах и OU.

Администраторы любого предприятия дополнят этот список своими задачами. Как правило, дел много, а времени мало. Однако потребности в автоматизации возрастают многократно, когда начинают действовать дополнительные факторы-"мультипликаторы":

  • на предприятии много компьютеров (например, несколько сотен). Даже просто обойти все компьютеры, чтобы установить патч или подключить новый сетевой принтер - непростая задача;
  • предприятие распределено по нескольким площадкам или просто занимает большую территорию. Вряд ли администратору понравится значительную часть рабочего дня находится в пути. Ситуацию отчасти решают средства удаленного администрирования, но не полностью;
  • на предприятии работают очень важные приложения (пример - биллинговые системы, операционный день банка и т.п.). Стоимость ошибки, допущенной при администрировании такой системы, очень высока. Однако если администратор выполняет свои действия на графическом интерфейсе, возможность ошибки всгда будет присутствовать. Такую вероятность можно снизить, если вначале писать скрипт, тестировать его на запасной системе и только после этого применять к рабочей;
  • на предприятии существуют жесткие системные политики, следование которым резко увеличивает нагрузку на администратора;
  • на предприятии происходит большая реорганизация, в ходе которое нужно выполнить множество действий с учетными записями, серверами, клиентскими компьютерами и т.п.

Во всех этих ситуациях без автоматизации не обойтись. Часто администраторы пытаются найти какие-нибудь утилиты, которые облегчили бы их труд - и иногда находят. Но проблем обычно все равно очень много:

  • обычно такие утилиты слабо документированы и не поддерживаются разработчиками. В то же время они представляют "черный ящик" - код этих утилит посмотреть нельзя. В результате при их применении могут возникнуть неожиданные ситуации;
  • многие утилиты поставляются как ShareWare, а денег на их покупку в бюджете предприятия не предусмотрено (да и саму покупку часто трудно осуществить технически);
  • утилиты не "заточены" под потребности конкретного предприятия и все равно значительную часть работы придется выполнять вручную.

Часто бывает удобно совместить возможности внешних утилит и своих скриптов.

Какие для существуют средства автоматизации:

1) командные файлы DOS (*.bat) и Windows (*.cmd)

            + : можно использовать всегда, простота в написании и применении

            - : малое количество возможностей, практически нет функций и возможностей обращения к программным объектам, не хватает многих конструкций языков программирования

2) обычные программы (на TurboPascal, C, Visual Basic, Delphi и т.п.)

            + : любые возможности, полноценные языки программирования

            - : предназначены для профессиональных программистов (требуют много времени для освоения), программы компилируются -> трудно корректировать, могут быть проблемы с наличием необходимых библиотек на компьютере

3) специальные программные среды третьих фирм (например, PowerBatch):

            + : специализированные среды для выполнения административных операций, множество возможностей

            - : слишком узкая специализация - знание встроенных в эти продукты языков больше нигде не пригодится, необходимость предварительно устанавливать соответствующие продукты на компьютеры пользователей

Наиболее рекомендуемое средство для выполнения этих операций - Windows Script Host (раньше называлась Windows Scripting Host), WSH.

WSH - набор программных компонентов для запусков скриптов (преимущественно в административных целях), который поставляется с операционной системой Windows.

Преимущества:

1)      как правило, не нужно специально устанавливать на компьютеры - встроена во все версии Windows начиная с Windows 98 и Windows NT SP3 (правда, может потребоваться обновить версию, но это несложно);

2)      поддержка скриптовых языков - очень просто модифицировать программы. По умолчанию поддерживаются VBScript и JScript, можно установить интерпретаторы для Perl, TCL, KiXtart 95 и т.п.;

3)      объектная модель WSH (как и сопутствующие модели ADSI и WMI) изначально разрабатывалась для целей администрирования - работать просто и удобно;

4)      WSH - нересурсоемкий продукт, специально оптимизирован таким образом, чтобы использовать минимум оперативной памяти;

5)      обеспечивается взаимодействие с пользователем через графический интерфейс, командную строку, а также вызов внешних утилит (например, из набора Resource Kit) непосредственно в процессе выполнения скрипта.

Архитектура WSH: взаимодействие хостов (hosts), интерпретаторов скриптов (script engines) и объектных моделей.

Хосты - те программы, которые запускают скрипты. В состав Windows входят несколько хостов -

o       хост Internet Explorer (самый распространенный, именно его по умолчанию имеют в виду авторы книг по VBScript и JScript, обычно не упоминая про все остальные),

o       хост IIS - приложения ASP,

o       хост WSH - среда выполнения - сама операционная система.

При желании можно добавить дополнительные хосты.

Интерпретаторы скриптов - по умолчанию с Windows поставляются только два:

o       интерпретатор VBScript;

o       интерпретатор JScript.

Опять-таки можно добавить дополнительные интерпретаторы (ActivePerl, TCL и т.п.).

Объектные модели - заранее подготовленные объекты, к которым можно обращаться из скриптов. Вместе с WSH поставляются две библиотеки объектов - WSH и Script Run-Time, однако можно обращаться и к другим объектным моделям, которые поддерживают автоматизацию. Чаще всего используют ADSI, WMI, CDO, ADO, объектную модель MSOffice. Подробнее каждая объектная модель рассматривается в модуле, посвященном ее функциональности.

Административные скрипты обычно пишутся на Visual Basic Scripting Edition или JScript. Что выбирать:

o       принципиальной разницы нет - в любом случае основные возможности доступны через объектные модели, а они доступны из обоих языков;

o       в JScript удобнее реализована обработка ошибок, а в VBScript - проверка значений;

o       если есть опыт работы с JavaScript, C++, Java и другими C-образными языками, выбирайте JScript;

o       если есть опыт работы с VBasic или вообще нет опыта работы, выбирайте VBScript.

При использовании XML в одном скрипте можно смешивать несколько языков одновременно.

В нашем курсе примеры только на VBScript.

Интерпретаторы в Windows представлены двумя файлами: wscript.exe и cscript.exe. Оба позволяют работать с VBScript и JScript и применять все возможности административных скриптов. Отличия:

o       wscript - средство, ориентированное на работу с графическим интерфейсом, вывод - через графические окна сообщений;

o       cscript - ориентировано на командную строку, вывод - на консоль.

Отличия можно увидеть наглядно на примере выполнения команды

wscript.echo "Мое сообщение"

По умолчанию скрипты выполняются при помощи wscript, но администраторам чаще удобнее использовать cscript. Что использовать, можно указать явно (cscript мой_скрипт.vbs) или сделать cscript интерпретатором по умолчанию на постоянной основе (cscript //H:csript).

Интерпретаторы в WSH ориентируются на расширения имен файлов. В WSH используются следующие расширения:

o       *.vbs и *.vbe - файлы, для которых запускается интерпретатор VBScript (e - encoded);

o       *.js и *.jse - то же самое для JScript;

o       *.wsh - управляющий файл скрипта (можно прописать параметры запуска скрипта, аналог файла *.pif для DOS-программ);

o       *.wsf - файл скрипта в формате XML;

o       *.wsc - тоже в формате XML, предназначен для регистрации скрипта как COM-компонента (скриплеты).

Инструментарий для работы с административными скриптами:

скрипты - это текстовые файлы, поэтому в принципе можно обойтись любым текстовым редактором, вроде Notepad. Однако гораздо удобнее лучше использовать специализированные средства:

1) Microsoft Script Debugger - версия 1.0 поставляется вместе с Windows 2000, в Windows 98/ME нужно устанавливать отдельно.

o       преимущества: бесплатный, встроен в операционную систему, подсветка синтаксиса;

o       недостатки: нет встроенного Object Browser, сильно ориентирован на отладку скриптов Internet Explorer и IIS/ASP (включая всю документацию, шаблоны и т.п.), нет возможности изменять скрипт прямо в окне отладчика;

2) при установленном Visual Studio 6.0 отладчиком по умолчанию становится Visual InterDev, а при установленном Visual Studio.NET - среда разработки VS.NET:

o       преимущества: для разработчиков - привычная среда со всеми возможностями, есть Object Browser

o       недостатки: полностью ориентированы на Internet Explorer и IIS/ASP (нужной документации нет в том числе и MSDN).

3) специализированное средство: Sapien PrimalScript

o       преимущества: средство специализированное и фактически стандартное (рекомендуется в курсах MOC и практически во всех книгах), встроенный Object Browser, удобные шаблоны, примеры и дополнительная документация, интеграция с Visual Source Safe, макросы и т.п. В качестве отладчика автоматически вызывается Microsoft Script Debugger.

o       - недостатки: платное средство, которое нужно покупать и устанавливать отдельно.

Запуск Microsoft Script Debugger - не из меню Start (в этом случае отлаживать скрипт будет невозможно, а через wscript или cscript:

o       wscript //D мой_скрипт.vbs ' - скрипт откроется в отладчике на первой команде Stop (если команды Stop нет, то отладчик не откроется);

o       wscript //X мой_скрипт.vbs ' - скрипт откроется в отладчике на первой исполняемой команде;

вызов из PrimalScript: меню Script -> Debug Script или Shift-F7.

Версии WSH и VBScript:

WSH версии 1.0 поставлялся с Windows NT 4.0 Option Pack и Windows 98 (можно было выбрать как необязательный компонент, по умолчанию не устанавливался). Language engines (интерпретатор для VBScript и JScript - версии 3.1, потом обновлялись с Visual Studio, Internet Explorer и т.п.)

С Windows 2000 по умолчанию устанавливалась версия WSH 2.0, language engines - версии 5.1.

Текущая (март 2003) версия - WSH 2.0, language engines версии 5.6 (эта версия поставляется с Windows XP и Windows Server 2003).

В  большинстве случаев администраторы ставят в сети принудительно на все компьютеры единую (последнюю) версию WSH/script engines во избежание проблем. Требования WSH к компьютерам:

1) на любой операционной системе - Internet Explorer версии не ниже 4

2) Windows NT 4.0 - Service Pack не ниже 3.

Для Windows 98/ME/NT и Windows 2000 - разные дистрибутивы WSH:

o       Windows 2000 - scripten.exe (scriptru.exe - русский вариант)

o       Windows 98/ME/NT - scr56en.exe (scr56ru.exe - русский вариант).

Версию 5.6 под Windows 95 установить невозможно.

Проверить текущую версию можно через скрипт такого вида:

MsgBox (WScript.Version)

А можно просто запустить в командной строке cscript и посмотреть результат.

Установку обычно производят из logon script в виде пакетного файла (поскольку VBScript или JScript использовать, возможно, еще нельзя). Предварительно нужно проверить установленную версию WSH и версию операционной системы (поскольку дистрибутивы для разных OS разные). Образец - файл WSHInst.bat (см  лабораторную работу).

 

   
   
   
   
   
   
   
   
   
   
 
<-- Назад Читать дальше -->

Получить учебные материалы по этому курсу


 

 
© 2004-2016, Академия Специальных Курсов
по Информационным Технологиям
.
Все права защищены.

Разработка NevaStudio
г. Санкт-Петербург, Васильевский остров,
20-я линия, д. 7
Офис 101, 2-й этаж
Телефон: 8(812)922-47-60
E-mail: info@askit.ru