Где проводится профессиональная переподготовка "Системное администрирование Windows"? Что-то я не совсем понял как проводится обучение. |
Задачи по администрированию
Использование провайдера 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.
Методы 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 изменяются любые элементы метабазы; это всего лишь способ доступа к соответствующему объекту.