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

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


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

3. Работа с объектами. Библиотеки классов и их просмотр

Классы и объекты в VBScript, создание объектов, объектные модели Windows

Классы - это блоки функциональности, которые можно использовать в программах, в нашем случае - скриптах. Для наших целей их можно считать «чертежами» для создания объектов. На основе этих "чертежей" создаются экземпляры классов - объекты. Коллекция классов обычно называется библиотекой типов и в Windows она «упакована» в файл dll или ocx. Такие библиотеки типов откомпилированы - классы из них можно использовать, но просмотреть их исходный код нельзя (технология "черного ящика").

Чаще всего в скрипте производится создание объекта определенного класса (instantiation) и далее работа производится с этим объектом. В одном скрипте вполне можно использовать несколько разных объектов одного и того же класса.

Создание объекта производится очень просто:

Set Объектная_переменная = CreateObject(“Библиотека.Класс”)

Например:

Dim oNetwork

Set oNetwork = CreateObject("Wscript.Network")

oNetwork.MapNetworkDrive "z:", \\London\Labs

Функция CreateObject()  встроена в VBScript. WScript - это одновременно и имя библиотеки типов (как в нашем примере), и имя специального объекта, который создается в момент запуска скрипта (и поэтому его специально создавать не нужно) и существует до конца выполнения скрипта WSH.

Пример - в любом месте скрипта вы можете использовать его метод Wscript.Echo.

Чтобы явно удалить объект (например, чтобы освободить оперативную память) можно использовать команду

Set объект = Nothing

Все объекты, которые не удалены явным образом, удаляются автоматически при завершении работы скрипта, однако правило хорошего тона - удалять все объекты, в которых пропала надобность, явно (во избежание разных проблем).

Обычно в скрипте используются методы и свойства созданного объекта.

Метод может выполнять какие-либо действия, принимать и возвращать значения. Чаще всего нам неважно, какой именно код выполняет тот или иной метод используемого нами объекта, однако знать, как тот или иной метод можно вызвать, мы обязаны. Всего три способа:

1) простой вызов метода выглядит как

Объект.метод

При этом не возвращаются и не принимаются никакие параметры.

2) второй способ:

объект.метод параметр1 [, параметр2, ... , параметр]

Параметры передаются путем перечисления через запятую, скобки не используются.

3) третий способ:

моя_переменная = объект.метод (параметр1 [, параметр2, ... , параметрn])

В этом случае значение, которое возвращает метод, присваивается переменной. При этом применение скобок для передаваемых параметров обязательно. Даже если никакие параметры не передаются, круглые скобки все равно обязательны:

моя_переменная = объект.метод()

Обращение к данным объекта обычно производится через его свойства. Через свойства можно получать информацию о данных объекта или их изменять.

Самые простой синтаксис для изменения свойств объекта выглядит так:

Объект.Свойство = Значение

Значение может быть обычной константой (10 или «Сообщение»), простым выражением (10 + 5), свойством другого объекта Объект1.Свойство = Объект2.Свойство), возвращаемым значением какого либо метода: Объект.Свойство = Объект2.Метод()

Естественно, можно извлекать значение свойства:

Переменная = Объект.Свойство

Основная функциональность скриптов реализуется через библиотеки классов. В Windows, как правило, библиотеки классов реализованы при помощи COM-технологий.

Все классы идентифицируются по ProgID (Programmatic Identifier). Информация о ProgID хранится в разделе реестра HKEY_CLASSES_ROOT и через него определяется, какой файл *.dll, *.exe и *.ocx содержит данный объект. ProgId состоит из имени библиотеки типов и имени класса. Например, при выполнении команды

Set MyObject = CreateObject(“Scripting.FileSystemObject”)

Через реестр определяется физический файл, в котором находится библиотека Scripting и класс FSO.

Скриптовые среды (в том числе WSH) работают с COM-объектами с определенными ограничениями. Одно из главных ограничений - по типам данных, которые могут передаваться COM-объектам. Поэтому из скриптов можно обращаться далеко не ко всем COM-объектам. COM-объекты, которые полностью соответствуют требованиям скриптов, называются объектами автоматизации (automation objects).

Автоматизацию, естественно, поддерживают все объекты библиотек типов WSH, а также многие другие объекты, например, все приложения MS Office - MS Word, PowerPoint и т.п. Показать пример копирования презентации и вставки в документ Word.

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

o       наиболее мощная - OLE/COM Object Viewer из Visual Studio (запускается через среду разработки или из командной строки - oleview);

o       просмотрщик встроен в VBA, который поставляется вместе с MS Office. Например, в Word 2000 нужно нажать Alt-F11, а затем F2 (добавить новую библиотеку можно через Tools -> Options);

o       просмотрщик (наиболее слабый) встроен в PrimalScript. Кроме того, в PrimalScript встроена технология "подсказки", открывающая список доступных свойств и методов объекта.

Чтобы полностью понимать то, что показывается в просмотрщике, необходимо знать COM-технологии. При написании обычных административных скриптов рекомендуется пользоваться документацией по объектным моделям, хотя для определения дополнительных возможностей можно использовать и просмотрщики библиотек.

Наиболее важные библиотеки/объектные модели, используемые в административных целях:

  • Windows Script Host Object Model (wshom.exe) - работа с сетью, ярлыками, средой Windows и т.п.
  • Microsoft Scripting Runtime (scrrun.dll) - классы для работы с файлами, папками, дисками, шифрованием и т.п.
  • Microsoft ADO (набор файлов, начинающийся на msado) - классы для работы с базами данных;
  • Microsoft SQLDMO Object Library (файл sqldmo.dll) - набор классов для получения полного контроля над Microsoft SQL Server (возможность производить любые административные операции, выполнять запросы и т.п.)
  • Microsoft CDO (версии 1.21, for NTS версии 1.2, for Windows 2000 версии 1.0) - файлы olemsg.dll, cdonts.dll, cdosys.dll) - наборы классов для работы с электронной почтой;
  • Microsoft Office 11.0 Object Library (mso.dll) и сопутствующие ей библиотеки отдельных приложений Office - наборы классов для работы с приложениями Office;
  • Internet Explorer Object Library (iexplore.exe) - библиотека классов для работы с Internet Explorer;
  • Active Directory Scripting Interface (adsldp.dll, wldap32.dll, adsnt.dll, adsnds.dll, adsnw.dll) - взаимодействие с объектами в каталогах Active Directory, NT, NetWare и т.п.
  • Microsoft WMI Scripting v1.1 (wbemdisp.tlb) - расширение возможностей программ через программный интерфейс WMI.

 

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

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


 

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

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