Introdução ao ASP para ADSI
ADSI pode ser usado para acessar dados de diretório usando uma página ASP. Essa pode ser uma maneira conveniente de executar tarefas de administração e consultas de uma página da Web ou fornecer informações aos funcionários em uma intranet.
Uma vantagem de usar ADSI com ASP é que você pode criar uma experiência de usuário mais rica porque você pode usar o Visual Basic para criar um aplicativo ADSI e oferecê-lo a um usuário por meio de uma página da Web padrão. Por exemplo, você pode criar uma página da Web que permita que os funcionários insiram o sobrenome de um funcionário e recuperem um número de telefone para esse funcionário, ou criar um formulário que permita que os funcionários atualizem informações pessoais em um banco de dados de recursos humanos da empresa.
O código ASP começa com '%' e termina com '%>'<. Você pode adicionar código ADSI como VBScript ou Visual Basic.
Para criar uma página ASP, você pode usar um editor de página da Web, bloco de notas ou outro editor de texto, ou o sistema de desenvolvimento Microsoft Visual Studio .NET.
Antes de executar sua página ASP, configure seu aplicativo ou servidor IIS de acordo com as instruções encontradas em Problemas de autenticação para ADSI com ASP.
Um exemplo ASP simples: enumerando objetos em um contêiner
Usando um editor de página da Web, crie uma nova página html que aceite o nome distinto de um objeto de contêiner. Insira o exemplo de código a seguir.
<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>
Essa página agora pode aceitar um nome de contêiner que é passado para ela e usar ADSI para enumerar objetos no contêiner.
Crie uma nova página ASP chamada Enum.asp e insira o exemplo de código a seguir. Salve esta página na raiz do servidor Web local.
<%@ 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
%>