andreasgrothe
Goto Top

Zugriff aus das Active Directory

Hallo zusammen,

wollte mit folgende code auf mein ADS zugreifen. Nur leider findet er irgendeine Tabelle nicht. face-sad

das Script habe ich von jemanden hier aus dem Forum. Falls es noch andere falsche Dinge enthält bitte gleich bemängeln.


Public Function Import_AD()
Dim sqls
Dim rstemp As Recordset

sqls = "Select * from AD" 'Das ist die Tabelle in die die Werte kommen. Alle Felder sind Text Felder mit 255 Characters
Set rstemp = CurrentDb.OpenRecordset(sqls)

'Open AD Connection
Set ado = CreateObject("ADODB.Connection")
ado.Provider = "ADSDSOObject"
ado.Open

Set rs = ado.Execute("<LDAP://DC=local, DC=GUREX, DC=de>;(&(objectClass=user)(samaccountname=*));ADsPath;SubTree")

rs.MoveFirst
'Loop till all objects are imported

Do Until rs.EOF
useradpath = rs.Fields.Item("ADsPath").Value
'Get the actual User Object
Set objUser = GetObject(useradpath)
'Add the fields to AD Table
On Error Resume Next
rstemp.AddNew
rstemp.Fields("ADPath") = useradpath
rstemp.Fields("FullName") = objUser.FullName
rstemp.Fields("Extensionattribute1") = objUser.Extensionattribute1
rstemp.Fields("distinguishedname") = objUser.distinguishedname
rstemp.Fields("sAMAccountName") = objUser.sAMAccountName
rstemp.Fields("Login") = objUser.Login
rstemp.Fields("givenName") = objUser.givenName
rstemp.Fields("sn") = objUser.sn
rstemp.Fields("c") = objUser.c
rstemp.Fields("co") = objUser.co
rstemp.Fields("Division") = objUser.Division
rstemp.Fields("physicalDeliveryOfficeName") = objUser.physicalDeliveryOfficeName
rstemp.Fields("displayname") = objUser.displayname
rstemp.Fields("company") = objUser.company
rstemp.Fields("manager") = objUser.manager
rstemp.Fields("userPrincipalName") = objUser.userPrincipalName
rstemp.Fields("assistant") = objUser.Assistant
rstemp.Fields("st") = objUser.st
rstemp.Fields("title") = objUser.title
rstemp.Fields("employeeType") = objUser.employeeType
rstemp.Fields("telephoneNumber") = objUser.telephoneNumber
rstemp.Fields("department") = objUser.department
rstemp.Fields("logoncount") = objUser.logoncount
rstemp.Fields("objectcategory") = objUser.objectcategory
rstemp.Fields("home") = objUser.homephone
rstemp.Fields("mobile") = objUser.mobile
rstemp.Fields("homedirectory") = objUser.homedirectory
rstemp.Fields("homedrive") = objUser.homedrive
rstemp.Fields("pcode") = objUser.postofficebox
rstemp.Fields("street") = objUser.streetaddress
rstemp.Fields("town") = objUser.l
rstemp.Fields("faxno") = objUser.facsimileTelephonenumber
rstemp.Fields("initials") = objUser.initials
rstemp.Update
'clean objUser
Set objUser = Nothing
rs.MoveNext
Loop
On Error GoTo 0
rs.Close
ado.Close

End Function

Content-Key: 87706

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

Ausgedruckt am: 29.03.2024 um 11:03 Uhr

Mitglied: 60730
60730 15.05.2008 um 16:33:48 Uhr
Goto Top
Servus,

ist das deine Zeile - oder aus dem Forum?
Set rs = ado.Execute("<LDAP://DC=local, DC=GUREX, DC=de>;(&(objectClass=user)(samaccountname=*));ADsPath;SubTree")  

Die Zeile sucht "de.gurex.local" gibts das bei dir?
Mitglied: AndreasGrothe
AndreasGrothe 16.05.2008 um 08:16:09 Uhr
Goto Top
Die Zeile ist von mir,

in der Reihenfolge zwar nicht aber es gibt diese bei uns.
Ich weiß nur nicht genau wie ich rausbekomme was ich da eintragen muss. bzw. wieviele Angaben ich verwenden muss.

Habe es rausgefunden es klappt jetzt.
Mitglied: Jere
Jere 16.05.2008 um 10:19:22 Uhr
Goto Top
Habe es rausgefunden es klappt jetzt.

Dann bitte als gelöst makieren und vielleicht noch ein Zweizeiler zur Lösung schreiben face-smile
Danke