ActiveDirektory per LotusSript in eine Notes-DB einlesen
Hallo Admins,
möchte in einer Notes-DB User-Daten (Gruppenzugehörigkeit) aus der ActiveDirektory auslesen. Wie geht dass?
Mit VB-Script bekomme ich es hin.
Aber ich weiß nicht, wie ich es von Notes aus tun kann.
Mit "OLE Classes" habe ich bisher nicht gearbeitet.
Wer kann mir hier einen Denkanstoß geben, wie ich vorgehen muß bzw. welche Klassen ich nutzen muß und wie ich nicht Notes-Klassen (OLE Classes) einbinde.
Vielen Dank.
möchte in einer Notes-DB User-Daten (Gruppenzugehörigkeit) aus der ActiveDirektory auslesen. Wie geht dass?
Mit VB-Script bekomme ich es hin.
'Kleines Beispielscript mit Bildschirmausgabe
'Wichtig mit cscript ausführen
Set ado = CreateObject("ADODB.Connection")
ado.Provider = "ADSDSOObject"
ado.Open
strBase = "<LDAP://dc=.....dc=DE>;"
strFilter = "(&(objectclass=user)(objectcategory=person));"
strAttrs = "name,sAMAccountName,sn,givenName,telephoneNumber,mail,FAG-UserDrives,FAG-UserPrinters,homeDrive,homeDirectory,profilePath;"
strScope = "subtree"
Set objectList = ado.Execute(strBase & strFilter & strAttrs & strScope)
While Not objectList.EOF
For Each Field in objectList.Fields
If i=0 Then
strZeile = Field.Value
Else
strZeile = strZeile & vbtab & Field.Value
End If
i = i+1
Next
WScript.Echo strZeile
objectList.MoveNext
strZeile = ""
i = 0
Wend
WScript.Echo "Fertig ..."
Wscript.sleep 20*1000
Aber ich weiß nicht, wie ich es von Notes aus tun kann.
Mit "OLE Classes" habe ich bisher nicht gearbeitet.
Wer kann mir hier einen Denkanstoß geben, wie ich vorgehen muß bzw. welche Klassen ich nutzen muß und wie ich nicht Notes-Klassen (OLE Classes) einbinde.
Vielen Dank.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 47989
Url: https://administrator.de/contentid/47989
Ausgedruckt am: 23.11.2024 um 07:11 Uhr
3 Kommentare
Neuester Kommentar
Aber ich weiß nicht, wie ich es von Notes aus tun kann.
Genauso wie Du es im Posting drinstehen hast:CreateObject arbeitet in Notes nämlich identisch wie CreateObject in VBS. (wscript.echo muß man aber noch anpassen, den Rest kannst Du aber einfach so in einen LotusScript Agenten übernehmen)
Das Einzige, worauf man aufpassen muß, wenn man server-basierte Agenten nimmt:
Der Account unter dem der Server läuft, muß die benötigten Rechte haben, z.B. lesend aufs AD zugreifen dürfen.
Und die verwendeten OLE Klassen müssen auf dem Server vorhanden sein.
Ich habs mal im LotusScript-Debugger laufen lassen, das Problem ist die ForAll Schleife.
objectList.Fields wird nicht als Collection erkannt, sondern nur als Standardobjekt, deswegen geht es erst gar nicht in die ForAll Schleife.
Aber statt ForAll über alle Felder kann man die Felder einzeln abfragen:
strZeile = objectList.Fields("name") für den Namen, strZeile = objectList.Fields("sAMAccountName") etc.
objectList.Fields wird nicht als Collection erkannt, sondern nur als Standardobjekt, deswegen geht es erst gar nicht in die ForAll Schleife.
Aber statt ForAll über alle Felder kann man die Felder einzeln abfragen:
strZeile = objectList.Fields("name") für den Namen, strZeile = objectList.Fields("sAMAccountName") etc.