Начало работы с ASP для ADSI
ADSI можно использовать для доступа к данным каталога с помощью страницы ASP. Это может быть удобный способ выполнения задач администрирования и запросов с веб-страницы или предоставления сведений сотрудникам в интрасети.
Одним из преимуществ использования ADSI с ASP является то, что вы можете создать более широкий пользовательский интерфейс, так как вы можете использовать Visual Basic для создания приложения ADSI и предложить его пользователю через стандартную веб-страницу. Например, можно создать веб-страницу, которая позволяет сотрудникам ввести фамилию сотрудника и вернуть номер телефона для этого сотрудника или создать форму, которая позволяет сотрудникам обновлять личную информацию в базе данных кадров компании.
Код ASP начинается с "<%" и заканчивается "%>". Вы можете добавить код ADSI в виде VBScript или Visual Basic.
Чтобы создать страницу ASP, можно использовать редактор веб-страниц, Блокнот или другой текстовый редактор или систему разработки Microsoft Visual Studio .NET.
Перед запуском страницы ASP настройте приложение или сервер IIS в соответствии с инструкциями, приведенными в разделе "Проблемы проверки подлинности для ADSI" с ASP.
Простой пример ASP: перечисление объектов в контейнере
С помощью редактора веб-страницы создайте html-страницу, которая принимает различающееся имя объекта контейнера. Введите следующий пример кода.
<html>
<body>
<form method="POST" action="https://localhost/Enum.asp" ID="Form1">
<p>Distinguished name of container:<input type="text" name="inpContainer" size="100" ID="Text2"></p>
<p><input type="SUBMIT" value="GO" ID="Submit1" NAME="Submit1"></p>
</form>
</body>
</html>
Теперь эта страница может принять имя контейнера, переданное в него, и использовать ADSI для перечисления объектов в контейнере.
Создайте новую страницу ASP с именем Enum.asp и введите следующий пример кода. Сохраните эту страницу в корне локального веб-сервера.
<%@ Language=VBScript %>
<%
' Get the inputs.
containerName = Request.Form("inpContainer")
' Validate compName before using.
If Not ("" = containerName) Then
' Bind to the object.
adsPath = "LDAP://" & containerName
Set comp = GetObject(adsPath)
' Write the ADsPath of each of the child objects.
Response.Write("<p>Enumeration:</p>")
For Each obj in comp
Response.Write(obj.ADsPath + "<BR>")
Next
End If
%>