Hallo,
ich hab hier ein Script um die Telefonnummern der in einem NT-System angemeldeten User per LDAP abzufragen...
über die konfiguration weiß ich leider nichts...
------------------------------
<html>
<head>
<title>Telefonnumernsuche - Suchergebnisse</title>
<link rel=stylesheet type="text/css" href="kram/style.css">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#FFFFFF" text="#000000" link="#0067dc" alink="#0067dc" vlink="#0067dc" background="kram/strukt1.jpg">
<table border="0" cellpadding="5" cellspacing="0" width="100%">
<tr><td>
<form name="telesuche" action="telefonnummern.asp" method="post">
<table border="0" width="100%" cellspacing="3">
<tr align="left">
<td width="20%" nowrap>Telefonnummernsuche: <input type="text" name="bruchstueck" size="30" maxlength="30"> <input type="submit" name="submit" value=" Suchen! "><br><span id="klein">(Name oder Teil des Namens eingeben)</span><br><br></td></tr>
<tr><td><a href="default.htm" target="_top">rtk Startseite</a></td></tr>
</table>
</form></td></tr>
<tr><td>
<%
dim fehler
fehler = 0
LDAPgruppe = "LDAP://zserv.pflz.local/CN=F-TelefonanzeigeUnterdruecken,OU=PFLZ,DC=pflz,DC=local"
Set adoConnection = Server.CreateObject("ADODB.Connection")
adoConnection.Provider = "ADSDSOObject"
adoConnection.Open "", vbNullString, vbNullString
If adoConnection.State <> 1 Then
fehler = 1
End If
%>
<table border="0" cellpadding="5" cellspacing="0" width="100%">
<%
if fehler = 0 then
sNameSoll = trim(request.form("bruchstueck"))
sNameSoll = Trim(Lcase(sNameSoll))
call ersetze_umlaute(sNameSoll)
'--------------------------------------------------------------
' Zu unterdrückende User ermitteln:
'--------------------------------------------------------------
Set adsGroup = GetObject(LDAPgruppe)
'MsgBox "Verbunden mit " & adsGroup.ADsPath
Set rstemp3 = Server.CreateObject("ADODB.Recordset")
rstemp3.Fields.Append "Name", 129, 4096
rstemp3.open
For each adsMember In adsGroup.Members
sName = adsMember.Name
call CN_Abzwicken(sName)
rstemp3.AddNew
rstemp3("Name") = Lcase(sName)
rstemp3.update
Next
'--------------------------------------------------------------
' Eigentliche Suche:
'--------------------------------------------------------------
Set adoRsDir = adoConnection.Execute _
("LDAP://zs04.lralz.local/OU=LRALZ,DC=lralz,DC=local;(objectClass=User);Name, SAMAccountName, telephoneNumber, department;SubTree")
sName = ""
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Fields.Append "Name", 129, 4096
rs.Fields.Append "Nummer", 129, 4096
rs.Fields.Append "Abteilung", 129, 4096
rs.open
While Not adoRsDir.Eof
sName = lcase(adoRsDir.Fields.Item("Name").Value)
If Instr(sName, sNameSoll) > 0 Then
sNummer = adoRsDir.Fields.Item("telephoneNumber").Value
if sNummer <> "" Then
rs.AddNew
rs("Name") = sName
rs("Nummer") = sNummer
rs("Abteilung") = adoRsDir("department") & " "
' NULL ist nicht erlaubt, deshalb Leerzeichen dran
rs.update
End If
End If
adoRSDir.MoveNext
Wend
if Not rs.Eof Then
rs.Sort = "Name"
rs.Movefirst
End If
Trennzeichen = ", -"
%>
<tr><td colspan="3">
<%
if rs.recordcount = 1 then
response.write "<span id=""ueb3bl"">" & rs.recordcount & "</span><span id=""fettbl""> passenden Eintrag zum Suchbegriff </span><span id=""ueb3bl"">""" & sNameSoll & """</span><span id=""fettbl""> gefunden.</span></td></tr><tr><td colspan=""3""> </td></tr>"
else
response.write "<span id=""ueb3bl"">" & rs.recordcount & "</span><span id=""fettbl""> passende Einträge zum Suchbegriff </span><span id=""ueb3bl"">""" & sNameSoll & """</span><span id=""fettbl""> gefunden.</span></td></tr><tr><td colspan=""3""> </td></tr>"
end if
if rs.recordcount > 0 then
response.write "<tr><td id=""fettbl"">Name</td><td id=""fettbl"">Telefonnummer</td><td id=""fettbl"">Abteilung</td></tr>"
end if
While Not rs.Eof
sName = rs.Fields.Item("Name").Value
If Not rstemp3.Bof Then
rstemp3.MoveFirst
End If
rstemp3.Find "Name = '" & sName & "'"
If rstemp3.Eof Then
sName = klein2gross(sName, Trennzeichen)
response.write "<tr><td style=""border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:blue;"">" & sname & "</td>"
response.write "<td style=""border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:blue;"">" & rs("Nummer") & "</td>"
response.write "<td style=""border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:blue;"">" & rs("Abteilung") & "</td></tr>"
End If
rs.MoveNext
Wend
response.write "</table></td></tr></table>"
'--------------------------------------------------------------
' Unterprogramme
'--------------------------------------------------------------
public Sub ersetze_umlaute(eingabe)
eingabe = replace(eingabe, "ö","oe")
eingabe = replace(eingabe, "ä","ae")
eingabe = replace(eingabe, "ü","ue")
eingabe = replace(eingabe, "ß","ss")
end Sub
'--------------------------------------------------------------
public function klein2gross(eingabe, die_zeichen)
klein2gross = ""
t_zeichen = 1
do while len(eingabe) > 0
vornbeginn = left(eingabe,1)
eingabe = mid(eingabe,2)
t_zeichen_alt = t_zeichen
if instr(die_zeichen, vornbeginn) = 0 then
t_zeichen = 0
else
t_zeichen = 1
end if
if t_zeichen_alt = 1 AND t_zeichen = 0 then
vornbeginn = Ucase(vornbeginn)
end if
klein2gross = klein2gross & vornbeginn
loop
end function
'--------------------------------------------------------------
public Sub CN_Abzwicken(aString)
iii = Instr(aString, "")
if iii > 0 Then
aString = Left(aString, iii-1) & Mid(aString, iii+1)
End If
If Instr(aString, "CN=") = 1 Then
aString = Mid(aString, 4)
End If
end Sub
'--------------------------------------------------------------
else
response.write "<tr><td colspan=""3"" align=""center"">Ein fehler ist aufgetreten<br>Verarbeitung nicht möglich</td></tr>"
end if
%>
</body>
</html>
------------------------------
Odium