Опубликован: 20.02.2006 | Доступ: свободный | Студентов: 3560 / 480 | Оценка: 4.34 / 3.99 | Длительность: 21:22:00
ISBN: 978-5-9570-0022-1
Лекция 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 мин. Использую браузер опера.