Опубликован: 20.02.2006 | Уровень: специалист | Доступ: платный
Лекция 9:

Задачи по администрированию

< Лекция 8 || Лекция 9: 12345 || Лекция 10 >

Использование провайдера ADSI

ADSI позволяет подключаться к различным компонентам сервера Windows с помощью базы данных и изменять свойства объекта. Как правило, это реализуется с помощью VBScript. Параметры объекта можно изменять с помощью любого языка, совместимого с моделью компонентных объектов (COM) или технологией .NET. В данной лекции мы будем использовать язык VBScript.

Примечание. Хотя, на первый взгляд, интерфейс ADSI можно применить только к Active Directory или к контроллерам доменов, на самом деле он походит для любых серверов Windows 2000 (и более поздних версий).

Объекты IIS ADSI

Провайдер IIS ADSI содержит объект для каждого ключа в метабазе. Следовательно, любой из ключей метабазы изменяется при помощи ADSI. При открытии файла метабазы в программе Notepad (Блокнот) ключи слева соответствуют объектам. Ниже приведен перечень ключей в алфавитном порядке:

  • IIsCertMapper
  • IIsCompressionSchemes
  • IIsCompressionScheme
  • IIsComputer
  • IIsCustomLogModule
  • IIsFilter
  • IIsFilters
  • IIsFtpInfo
  • IIsFtpServer
  • IIsFtpService
  • IIsFtpVirtualDir
  • IIsIPSecurity
  • IIsLogModule
  • IIsLogModules
  • IIsMimeMap
  • IIsMimeType
  • IIsWeDirectory
  • IIsWebFile
  • IIsWebInfo
  • IIsWebServer
  • IIsWebService
  • IIsWebVirtualDir
Подключение к провайдеру ADSI

Для подключения к провайдеру создайте объект с помощью ADsPath. ADsPath для каждой службы располагается в области "Location" ("Расположение") ключа. Например, местом расположения IIsWebService является /LM/W3SVC. Для подключения к определенному веб-сайту используйте ключ IIsWebServer. В файле метабазы расположением ключа для веб-сайта по умолчанию является LM/W3SVC/1.

Примечание. При использовании места расположения в коде не нужно указывать /LM ; этот элемент указывается только в пути метабазы.

Для соединения с объектом посредством ADSI начните с создания объекта в VBScript. ADSI использует для запросов протокол LDAP, поэтому на каждом межсетевом экране, расположенном по маршруту, необходимо открыть порт 389. Кроме того, для работы с ADSI необходимо быть ее администратором. Ниже приведен код создания объекта веб-сайта по умолчанию:

SET MyDefaultWebSiteObj = GetObject("IIS://mycomputer/W3SVC/1")

Теперь к объекту веб-сайта по умолчанию можно обратиться при помощи переменной MyDefaultWebSiteObj.

Совет. Можно подключаться к любому нужному сайту; для этого укажите порядковый номер сайта. В предыдущих версиях IIS эти номера были последовательными, в IIS 6 они генерируются случайным образом, хотя веб-сайт по умолчанию всегда имеет номер 1. Номера, присвоенные сайтам, можно узнать в нескольких местах; проще всего открыть в консоли MMC пункт Web Sites (Веб-узлы).

Свойства IIS ADSI

Свойства IIS ADSI соответствуют свойствам в метабазе. Доступ к свойствам объекта осуществляется с помощью запроса определенных параметров этого объекта. Например, IIsWebServer имеет свойство ServerComment. Доступ к этому свойству открывается посредством получения родительского объекта и перехода с его помощью к желаемому параметру.

Считывание свойств объекта

Можно считывать свойства объекта по их именам в коде. Ниже приведен простой код VBScript для получения поля комментариев сервера из метабазы для веб-сайта по умолчанию и отображения его на экране:

option explicit DIM MyDefaultWebSiteObj, ServerCommentProp SET
MyDefaultWebSiteObj = GetObject("IIS://mycomputer/W3SVC/1")
ServerCommentProp = MyDefaultWebSiteObj.ServerComment Wscript.Echo
ServerCommentProp SET MyDefaultWebSiteObj = nothing

Все имена свойств можно найти в файле метабазы. Их слишком много для описания в рамках данной книги. На рисунке 9.1 показано несколько свойств объекта веб-сайта из файла MetaBase.xml.

Файл MetaBase.xml

Рис. 9.1. Файл MetaBase.xml

Методы IIS ADSI

Методы IIS ADSI предназначены для выполнения действий на связанной службе. Используются следующие стандартные методы ADSI.

  • Get Получает значение свойства объекта.
  • GetEx Работает как Get, но может получать свойства с несколькими значениями.
  • GetInfo Перезагружает объект со значениями свойств из метабазы.
  • GetInfoEx Работает так же, как GetInfo, но поддерживает свойства с несколькими значениями.
  • Put Устанавливает значение для свойства объекта.
  • PutEx Устанавливает значение(я) для свойств с одним или несколькими значениями.
  • SetInfo Записывает свойства в метабазу.

Рассмотрим пример кода для установки значения в метабазе. Мы будем использовать ServerComment из предыдущего примера. Данный код изменяет комментарий на веб-сайте на " My new site ". Этот код можно использовать в VBScript.

option explicit
DIM MyDefaultWebSiteObj, SvrComment
  SET MyDefaultWebSiteObj = GetObject("IIS://localhost/W3SVC/1")
    MyDefaultWebSiteObj.Put "ServerComment", "My new site"
      MyDefaultWebSiteObj.SetInfo
        SET MyDefaultWebSiteObj = nothing

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

option explicit
DIM DefaultWebSiteObj
  SET DefaultWebSiteObj = GetObject("IIS://localhost/w3svc/1")
   DefaultWebSiteObj.Stop
     SET DefaultWebSiteObj = nothing

Для запуска веб-сайта по умолчанию замените Stop на Start.

Рекомендуется выполнять эти сценарии VBScript с помощью cscript.exe, а не с помощью wscript.exe, поскольку wscript будет отображать ошибки и сообщения во всплывающих окнах, а cscript – в окне командной строки. При помощи провайдера ADSI изменяются любые элементы метабазы; это всего лишь способ доступа к соответствующему объекту.

< Лекция 8 || Лекция 9: 12345 || Лекция 10 >
Александр Тагильцев
Александр Тагильцев

Где проводится профессиональная переподготовка "Системное администрирование Windows"? Что-то я не совсем понял как проводится обучение.

Владимир Кирин
Владимир Кирин
Неполодки на ресурсе.При сдаче 7 теста, открывается пустое окно, и ничего не происходит.Поправте пожалуйста. При этом попытка считается защитана, перездача только через 30 мин. Использую браузер опера.
Александр Гордеев
Александр Гордеев
Казахстан, Алматы, ТУРАН
Александр Даниленко
Александр Даниленко
Россия, Москва, 797, 1993