Hur ska jag göra för att få ut användarinfo, så som mailadress, fullständigtnamn osv ifrån AD:et när jag bara har inloggningsnamnet. kör så här hitta ett exempel jag gjorde en gång i tiden som man kan använda som adressbok, hämtar info direkt ur ADt, du behöver bara skapa en söksida till den, en text rad och en knapp, där man matar in namnet man vill söka påFå ut användarinfo från ett användnamn från AD:et
Följande kod då får jag ut info från användare i en speciell OU:
Set cont = GetObject("LDAP://sökvägen till OUn")
'cont.Filter = Array("user")
For Each usr In cont
name = usr.name
mail = usr.mail
Response.Write name & " " & mail & "<BR>"
Next
Men hur får jag ut all denna info när jag bara har ett användarnamn och inte hela x500 sökvägen??Sv: Få ut användarinfo från ett användnamn från AD:et
LDAP://CN=<skriv in username i ADt>, OU=<Organisation Unit>, DC=Microsoft, DC=COM
För visst måste du väl ha OUt för domänen?
Är det en stor organisation med många OUs?Sv: Få ut användarinfo från ett användnamn från AD:et
<code>
<%
OPTION EXPLICIT
Dim strServerName
Dim strName
Dim oConn, oCommand, oRs
Dim strQuery
strServerName = "192.168.0.100" -- Ip-adress till DC
strName = request.form("enamn")
if strName <> "" then
set oConn = CreateObject("ADODB.Connection")
set oCommand = CreateObject("ADODB.Command")
set oRS = CreateObject("ADODB.Recordset")
oConn.Provider = "ADsDSOObject"
oConn.Open "ADs Provider"
set oCommand.ActiveConnection = oConn 'set the active connection
' Next we will build the LDAP query that will be used to retrieve the contents of the GAL.
' We will specify which server we want to run the query against,
' a filter for what types of objects we are looking for, the attributes we would like
' returned, and the type of search
' A filter of (objectClass=person) will return mailboxes, distribution lists, and custom recipients
strQuery= "<LDAP://" & strServername & ">;((givenName=" & strName & "*));cn,telephoneNumber,department,mail;subtree"
oCommand.CommandText = strQuery
oCommand.Properties("Page Size") = 99 'a paged query is used to avoid Exchange LDAP server limits
set oRS = oCommand.Execute 'Execute the query
' Now we will loop through the results of our query
' and build a table to display the Global Address List
if (not oRS.EOF) then
%>
<TABLE BORDER=3>
<TR bgcolor="#C0C0C0">
<TH><b>Display Name</b></th>
<TH><b>Phone</b></TH>
<TH><b>Office</b></TH>
<TH><b>Ext.</b></TH>
<TH><b>Epost</b></TH>
<%
While not oRS.EOF
%>
<TR>
<%
' Get the class of the object and set the appropriate color
%>
<TD><%=oRS.Fields("cn")%>
<TD><%=oRS.Fields("telephoneNumber")%>
<TD><%=oRS.Fields("department")%>
<TD><%=right(oRS.Fields("telephoneNumber"), 4)%>
<TD><%=oRS.Fields("mail")%>
<%
oRS.MoveNext
wend
else
%>
<font color="#FF0000">
<%
response.write("Inga kontakter funna.")
end if
%>
</font>
</td>
</tr>
</TABLE>
<%
else
%>
<font color="#FF0000">
<%
response.write("No Contacts Found")
end if
%>
</font><br><br>
<a class="class1" href="index.asp">Klicka här för att göra en ny sökning</a>
</table>
</BODY>
</HTML>
</code>
Funkar snusfint för mig.