ASP for ADSI 入门

ADSI 可用于使用 ASP 页面访问目录数据。 这是从网页运行管理任务和查询或向 Intranet 上的员工提供信息的便捷方法。

将 ADSI 与 ASP 配合使用的一个好处在于,你可以创建更丰富的用户体验,因为你可以使用 Visual Basic 来创建 ADSI 应用程序,并通过标准网页将其提供给用户。 例如,你可以创建一个网页,让员工输入某个员工的姓氏,并得到该员工的电话号码,或者创建一个表单,让员工更新公司人力资源数据库中的个人信息。

ASP 代码以“<%”开头,以“%>”结束。 你可以将 ADSI 代码添加为 VBScript 或 Visual Basic。

要创建 ASP 页面,可以使用网页编辑器、记事本或其他文本编辑器,或 Microsoft Visual Studio .NET 开发系统。

在运行 ASP 页面之前,请按照使用 ASP 进行 ADSI 的身份验证问题中的说明设置应用程序或 IIS 服务器。

一个简单的 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 枚举容器中的对象。

新建一个名为 Enum.asp 的 ASP 页面,并输入以下代码示例。 将此页面保存在本地 Web 服务器的根目录下。

<%@ 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
%>