skid
Goto Top

Lotus Notes LDAP abfrage

Hi,

Wer kann mir sagen wie ich mit VB-Skript das LDAP von Lotus Notes abfragen kann ?
Bräuchte ein Beispiel in dem ich z.B. den Usernamen eingebe und dann als Ergebnis die Emailadresse zurück bekomme.

LDAP Abfragen im AD bekomme ich soweit hin - nur mit Notes komme ich nicht so klar.
Vielleicht kann mir jemand helfen ?!

Gruss
SKID

Content-Key: 84845

Url: https://administrator.de/contentid/84845

Printed on: April 24, 2024 at 11:04 o'clock

Member: RDiller
RDiller Apr 08, 2008 at 14:19:25 (UTC)
Goto Top
Hi Skid,

ich habe folgenden Code für Dich. Er ist zwar in/für VBA, aber ich denke du solltest damit klarkommen.


sqls = "SELECT NotesAddr.Nname, NotesAddr.Vname, NotesAddr.Shortname, NotesAddr.eMail, NotesAddr.Gruppe, NotesAddr.Tel " _
& "FROM NotesAddr;"
Set rstemp = CurrentDb.OpenRecordset(sqls)
adressbuch = "names.nsf"
'Das Adressbuch PEOPLE auslesen
ansicht = "People"
Server = "<Dein Servername>" 'z.B.: mail01/xxxx/xxxx
i = 0
Set objNotes = GetObject("", "Notes.NotesSession")
If objNotes Is Nothing Then
Set objNotes = CreateObject("Notes.NotesSession")
End If
Set LNdb = objNotes.GetDatabase(Server, adressbuch)
Set LNview = LNdb.GetView(ansicht)
Call LNview.Refresh
Set LNdoc = LNview.GetFirstDocument
ReDim lnarray(100, 50)
On Error Resume Next
Do While Not LNdoc Is Nothing
Set item = LNdoc.GetFirstItem("lastname")
Set item1 = LNdoc.GetFirstItem("firstname")
Set item2 = LNdoc.GetFirstItem("shortname")
Set item3 = LNdoc.GetFirstItem("InternetAddress")
Set item4 = LNdoc.GetFirstItem("OfficePhoneNumber")
array1 = item.Values
array2 = item1.Values
array3 = item2.Values
array4 = item3.Values
array5 = item4.Values
rstemp.AddNew
rstemp.Fields(0) = array1(0)
rstemp.Fields(1) = array2(0)
If UBound(array3) > 0 Then
rstemp.Fields(2) = array3(1)
Else
rstemp.Fields(2) = array3(0)
End If
rstemp.Fields(5) = array5(0)
rstemp.Fields(3) = array4(0)
rstemp.Update
Set LNdoc = LNview.GetNextDocument(LNdoc)
Loop
'####Verteilergruppen ermitteln
ansicht = "Groups"
Set LNdb = Nothing
Set LNview = Nothing
Set LNdoc = Nothing
i = 0
Set LNdb = objNotes.GetDatabase(Server, adressbuch)
Set LNview = LNdb.GetView(ansicht)
Call LNview.Refresh
Set LNdoc = LNview.GetFirstDocument
ReDim lnarray(100, 50)
On Error Resume Next
Do While Not LNdoc Is Nothing
Set item = LNdoc.GetFirstItem("Listname")
array1 = item.Values
rstemp.AddNew
rstemp.Fields(0) = array1(0)
rstemp.Fields(2) = array1(0)
rstemp.Fields(3) = array1(0)
rstemp.Fields(4) = True
rstemp.Update
Set LNdoc = LNview.GetNextDocument(LNdoc)
Loop
On Error GoTo 0
rstemp.Close
Set rstemp = Nothing
Set LNdoc = Nothing
Set LNview = Nothing
Set LNdb = Nothing
Set objNotes = Nothing


Gruß

Ralf
Member: skid
skid Apr 08, 2008 at 14:34:43 (UTC)
Goto Top
Hi,

danke für den Code.
Damit komme ich jetzt schon mal etwas weiter.

Gruss
SKID