kaffebone
Goto Top

Einen Wert aus ldap mit Authentifikation per VBS-Script auslesen.

Hallo,

ich muss einen Wert (Telefonnummer) aus Ldap auslesen. Leider kenne ich mich mit VB nicht aus.
Es gibt im Internet viele Beispiele, doch es muss eine Authentifizierung für die Verbindungsaufbau/Query stattfinden, was die Sache für mich sehr verkompleziert...
Was nicht funktioniert ist die Authentifikation. Ich bekomme die Fehlermeldung "die Tabelle ist nicht vorhanden".

gegeben sind:
Loginname, Passwort
"SELECT * FROM 'LDAP://bla.bla.de:389/ou=bla,o=bla' WHERE objectClass='person' AND uid='uidwert'"

Für jeden Tipp bin ich dankbar:

Content-Key: 140835

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

Ausgedruckt am: 29.03.2024 um 12:03 Uhr

Mitglied: dog
dog 16.04.2010 um 17:04:17 Uhr
Goto Top
Warum liest du LDAP über WMI aus?
Dafür gibt es ADSI.

http://web.archive.org/web/20071123064000/http://www.geocities.com/cali ...
Mitglied: kaffebone
kaffebone 19.04.2010 um 08:04:24 Uhr
Goto Top
erst mal Danke für das Link! Es hat mich schon weiter gebracht.

Es funktioniert schon wie ich möchte:

 
Set args = WScript.Arguments
set WshShell = WScript.CreateObject("WScript.Shell")   

userName = "loginname"  
userPass = "password"  
ldapServer = "ldapserver.de:389/ou=ouwert,o=owert"  
sRoot = "LDAP://" & ldapServer  

Set dso = GetObject("LDAP:")  
Set objRS = CreateObject("adodb.recordset")  

On Error Resume Next

Set xResult = dso.OpenDSObject(sRoot, userName, userPass, ADS_SECURE_AUTHENTICATION)

'WScript.Echo "Result: " & Err.number  

For Each obj In xResult
	if obj.uid = UserName then
	strTel = obj.telephonenumber
    WScript.Echo obj.uid & " " & obj.name & " " & strTel  
	end if
Next



leider weiß ich nicht so recht wie ich einen Filter (uid) früher einbauen kann, damit die Abfrage noch am Server bearbeitet wird. Im Moment leidet die Performance dadurch sehr, ich warte auf ein Ergebnis ca. halbe Minute.
Danke im Voraus!