ASP - Методы объектов ADSI
Методы объектов ADSI
Методы ADSI объектов IIS Admin можно использовать для изменения значений свойств метабазы, управляющих конфигурацией IIS. Чтобы настроить определенный элемент IIS, откройте объект IIS Admin, соответствующий разделу метабазы, связанному с этим элементом, измените значения свойств, кэшируемых в объекте, и укажите на необходимость сохранения измененных значений в метабазе.
Следующие методы ADSI, предоставляемые объектами IIS Admin, служат для установки или запроса свойств метабазы.
Метод | Описание |
Get | Возврат значения именованного свойства объекта. |
GetDataPaths | Возврат путей ко всем расположениям свойства метабазы, подчиненным указанному начальному пути. |
GetEx | Возврат одного или нескольких значений именованного однозначного или многозначного свойства или объекта. |
GetInfo | Перезагрузка объекта со значениями свойств, существующими в метабазе. |
GetPropertyAttribObj | Возврат объекта, содержащего атрибуты свойства. Этот объект затем может быть использован для получения отдельных атрибутов свойств ADSI. |
Put | Установка значения именованного свойства объекта. |
PutEx | Установка одного или нескольких значений именованного однозначного или многозначного свойства или объекта. |
SetInfo | Запись значений свойства объекта в метабазе. |
Метод GetInfo перезагружает значения свойств из метабазы в объект. Когда один из объектов IIS Admin создается или открывается функцией GetObject, его свойства инициализируются из метабазы. Можно, используя метод GetInfo, обновить эти значения из метабазы для замены всех изменений, внесенных в значения свойств и кэшируемые в объекте. Затем, используя метод Get или GetEx, можно получить свойства объекта и назначить их переменным, а используя метод Put или PutEx — изменить значения свойств объекта.
При использовании в таких языках, как VBScript и JScript, объекты IIS Admin также поддерживают синтаксис объект.свойство. Для записи значений свойств из объекта в метабазу можно использовать метод SetInfo. При вызове метода SetInfo в метабазу записываются только измененные свойства объекта. Если не вызвать метод SetInfo, изменения не будут записаны в метабазу.
Примечание. Если один из объектов IIS Admin привязан к метабазе, при изменении значений свойств этого объекта метабаза не блокируется. В то время, как значения получены из метабазы, но после изменения еще не сохранены в ней, другие программы могут изменять значения в метабазе. Необходимо по возможности уменьшить время между получением и сохранением значений.
Свойства ADSI относятся только к объекту, а другие свойства (не ADSI) — к метабазе. При получении свойств ASDI необходимо использовать синтаксис объект.свойство, а при работе со свойствами метабазы можно использовать как синтаксис объект.свойство, так и методы ADSI, такие как Get и Put.
Пример
На следующем примере сценария VBScript показано, как можно использовать методы ADSI объектов IIS Admin для изменения значений в метабазе; в нем также иллюстрируется наследование свойств метабазы для повышения эффективности. MyComputer обозначает имя локального компьютера, на котором работает IIS.
<%
Dim WebServerObj
Dim VDirObj
Dim WritePerm
'Открытие объекта для первого корневого каталога виртуального веб-сервера.
Set WebServerObj = GetObject("IIS://MyComputer/W3SVC/1/Root")
'Запрещение записи во все папки и файлы
'этого сервера (кроме тех, доступ к которым установлен отдельно)
'с использованием метода Put.
WebServerObj.Put "AccessWrite", False
'Сохранение измененных значений в метабазе.
WebServerObj.SetInfo
'Получение каталога, подчиненного корневому каталогу веб-сервера.
Set VDirObj = GetObject("IIS://MyComputer/W3SVC/1/Root/Vdir1/Dir1a")
'Перезапись унаследованного значения доступа на запись
'с использованием метода с точкой, эквивалентного Put.
VDirObj.AccessWrite = True
'Сохранение измененных значений в метабазе.
VDirObj.SetInfo
%>