peacer
Goto Top

LDAP Abfrage über VB Script

Hallo zusammen,

ich brauche - mal wieder - ein VB-Script für eine spezielle LDAP Abfrage für den 1.-lvl Support. Und zwar habe ich die 4-stellige Durchwahl eines Users. Um möglichst schnell den Namen des Users herauszufinden möchte ich per LDAP Abfrage nach der telephoneNumber suchen (am besten mit dem parameter "endet mit", sodass nur nach den letzten 4 stellen gesucht wird) mit dem und den dazugehörigen givenName & surName ausgeben.


Danke für die Hilfe
LG Peacer

Content-Key: 159144

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

Printed on: April 25, 2024 at 00:04 o'clock

Member: Logan000
Logan000 Jan 21, 2011 at 12:10:30 (UTC)
Goto Top
Moin Moin

Das solte so im groben das sein was du suchst.

On Error Resume Next 
 
 TelNr = "1234"   
 DomName= "MyDomain"  
 DomSuffix = "de"  
Const ADS_SCOPE_SUBTREE = 2 
Set objConnection = CreateObject("ADODB.Connection")   
Set objCommand =   CreateObject("ADODB.Command")   
objConnection.Provider = "ADsDSOObject"   
objConnection.Open "Active Directory Provider"   
Set objCommand.ActiveConnection = objConnection 
objCommand.Properties("Page Size") = 1000   
objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE    
objCommand.CommandText = _ 
    "SELECT name FROM 'LDAP://dc=" & DomName & ",dc=" & DomSuffix & "' WHERE objectClass='user' "  & _   
        "AND telephoneNumber='*" & TelNr & "'"   
Set objRecordSet = objCommand.Execute 
If objRecordSet.recordcount=0 Then 
	Wscript.Echo "nix gefunden!"  
else
	objRecordSet.MoveFirst 
	Do Until objRecordSet.EOF 
		Wscript.Echo objRecordSet.Fields("Name").Value   
		objRecordSet.MoveNext 
	Loop 
end if

Solche sachen findest Du meistens Hier: http://gallery.technet.microsoft.com/scriptcenter/site/search?f.Type=Ro ...[1].Type=SubCategory&f[1].Value=searching&f[1].Text=Searching%20Active%20Directory

Gruß L.
Mitglied: 76109
76109 Jan 21, 2011 at 16:25:36 (UTC)
Goto Top
Hallo Logan000!

*Grübel* müsste im SQL-String (Tel-Nr) nicht anstatt '*' ein '%' stehen?

Gruß Dieter
Member: Logan000
Logan000 Jan 21, 2011 at 16:31:19 (UTC)
Goto Top
Moin Didi

*Grübel* müsste im SQL-String (Tel-Nr) nicht anstatt '*' ein '%' stehen?
ich sach mal nein.
Zum einen weil ichs ausprobiert habe
zum anderen hab ich [hier http://www.serverwatch.com/tutorials/article.php/1476621/Wildcard-Activ ...] gelesen das das "*" funkt.

Gruß L.
Mitglied: 76109
76109 Jan 21, 2011 at 16:47:37 (UTC)
Goto Top
Hallo L!

OK, wenn's funkt, habe ich mich wohl geiirt. Passiert mir in letzter Zeit öfterface-wink

Gruß Dieter

PS. Jetzt fällt's mir wieder ein, der LIKE-Operator verwendet das "%"
Member: Peacer
Peacer Jan 21, 2011 at 16:52:53 (UTC)
Goto Top
Funktioniert super!

Vielen Dank