VBA - AD Infos in Word

Mitglied: cableape

cableape (Level 1) - Jetzt verbinden

30.05.2011 um 14:10 Uhr, 4272 Aufrufe, 4 Kommentare

Hallo an alle VBA / LDAP experten.

Ich möchte eine Word Vorlage erstellen die Automatisch mit User Infos gefüllt wir.

Wie ich die Daten vom User rein bekomme habe ich schon rausgefunden:

Wie aber bekomme ich mit diesem Script es hin Infos aus der OU des jeweiligen Users auszulesen (wobei der User auchnoch in unterOUs steckt)?
Ich hab im Netz auch nix brauchbares gefunden...

Danke für eure Hilfe.

CableApe
Mitglied: RDiller
30.05.2011 um 16:41 Uhr
Hi,

hier eine Liste die ich vor ein paar Jahren benutzt habe. Ob die Namen noch stimmen weis ich leider nicht

"operatorCount" ----> objUser.operatorCount
"otherFacsimileTelephoneNumber" ----> objUser.otherFacsimileTelephoneNumber
"otherHomePhone" ----> objUser.otherHomePhone
"otherIpPhone" ----> objUser.otherIpPhone
"otherLoginWorkstations" ----> objUser.otherLoginWorkstations
"otherMailbox" ----> objUser.otherMailbox
"otherMobile" ----> objUser.otherMobile
"otherPager" ----> objUser.otherPager
"otherTelephone" ----> objUser.otherTelephone
"otherWellKnownObjects" ----> objUser.otherWellKnownObjects
"ou" ----> objUser.ou
"ownerBL" ----> objUser.ownerBL
"pager" ----> objUser.pager
"partialAttributeDeletionList" ----> objUser.partialAttributeDeletionList
"partialAttributeSet" ----> objUser.partialAttributeSet
"personalPager" ----> objUser.personalPager
"personalTitle" ----> objUser.personalTitle
"photo" ----> objUser.photo
"physicalDeliveryOfficeName" ----> objUser.physicalDeliveryOfficeName
"pOPCharacterSet" ----> objUser.pOPCharacterSet
"pOPContentFormat" ----> objUser.pOPContentFormat
"possibleInferiors" ----> objUser.possibleInferiors
"postalAddress" ----> objUser.PostalAddress
"postalCode" ----> objUser.postalCode
"postOfficeBox" ----> objUser.postofficebox
"preferredDeliveryMethod" ----> objUser.preferredDeliveryMethod
"preferredLanguage" ----> objUser.preferredLanguage
"preferredOU" ----> objUser.preferredOU
"primaryGroupID" ----> objUser.primaryGroupID
"primaryInternationalISDNNumber" ----> objUser.primaryInternationalISDNNumber
"primaryTelexNumber" ----> objUser.primaryTelexNumber
"profilePath" ----> objUser.profilePath
"protocolSettings" ----> objUser.protocolSettings
"proxiedObjectName" ----> objUser.proxiedObjectName
"proxyAddresses" ----> objUser.proxyAddresses
"publicDelegates" ----> objUser.publicDelegates
"publicDelegatesBL" ----> objUser.publicDelegatesBL
"pwdLastSet" ----> objUser.pwdLastSet
"queryPolicyBL" ----> objUser.queryPolicyBL
"registeredAddress" ----> objUser.registeredAddress
"replicatedObjectVersion" ----> objUser.replicatedObjectVersion
"replicationSensitivity" ----> objUser.replicationSensitivity
"replicationSignature" ----> objUser.replicationSignature
"replPropertyMetaData" ----> objUser.replPropertyMetaData
"replUpToDateVector" ----> objUser.replUpToDateVector
"repsFrom" ----> objUser.repsFrom
"repsTo" ----> objUser.repsTo
"revision" ----> objUser.revision
"rid" ----> objUser.rid
"roomNumber" ----> objUser.roomNumber
"sAMAccountType" ----> objUser.sAMAccountType
"scriptPath" ----> objUser.scriptPath
"sDRightsEffective" ----> objUser.sDRightsEffective
"secretary" ----> objUser.secretary
"securityIdentifier" ----> objUser.securityIdentifier
"securityProtocol" ----> objUser.securityProtocol
"seeAlso" ----> objUser.seeAlso
"serialNumber" ----> objUser.serialNumber
"serverReferenceBL" ----> objUser.serverReferenceBL
"servicePrincipalName" ----> objUser.servicePrincipalName
"showInAddressBook" ----> objUser.showInAddressBook
"showInAdvancedViewOnly" ----> objUser.showInAdvancedViewOnly
"sIDHistory" ----> objUser.sIDHistory
"siteObjectBL" ----> objUser.siteObjectBL
"sn" ----> objUser.sn
"st" ----> objUser.st
"street" ----> objUser.street
"streetAddress" ----> objUser.streetaddress
"structuralObjectClass" ----> objUser.structuralObjectClass
"submissionContLength" ----> objUser.submissionContLength
"subRefs" ----> objUser.subRefs
"subSchemaSubEntry" ----> objUser.subSchemaSubEntry
"supplementalCredentials" ----> objUser.supplementalCredentials
"supportedAlgorithms" ----> objUser.supportedAlgorithms
"systemFlags" ----> objUser.systemFlags
"targetAddress" ----> objUser.targetAddress
"telephoneAssistant" ----> objUser.telephoneAssistant
"telephoneNumber" ----> objUser.telephoneNumber
"teletexTerminalIdentifier" ----> objUser.teletexTerminalIdentifier
"telexNumber" ----> objUser.telexNumber
"terminalServer" ----> objUser.terminalServer
"textEncodedORAddress" ----> objUser.textEncodedORAddress
"thumbnailLogo" ----> objUser.thumbnailLogo
"thumbnailPhoto" ----> objUser.thumbnailPhoto
"title" ----> objUser.title
"tokenGroups" ----> objUser.tokenGroups
"tokenGroupsGlobalAndUniversal" ----> objUser.tokenGroupsGlobalAndUniversal
"tokenGroupsNoGCAcceptable" ----> objUser.tokenGroupsNoGCAcceptable
"uid" ----> objUser.uid
"unauthOrig" ----> objUser.unauthOrig
"unauthOrigBL" ----> objUser.unauthOrigBL
"unicodePwd" ----> objUser.unicodePwd
"unmergedAtts" ----> objUser.unmergedAtts
"url" ----> objUser.url
"userAccountControl" ----> objUser.userAccountControl
"userCert" ----> objUser.userCert
"userCertificate" ----> objUser.userCertificate
"userParameters" ----> objUser.userParameters
"userPassword" ----> objUser.userPassword
"userPKCS12" ----> objUser.userPKCS12
"userPrincipalName" ----> objUser.userPrincipalName
"userSharedFolder" ----> objUser.userSharedFolder
"userSharedFolderOther" ----> objUser.userSharedFolderOther
"userSMIMECertificate" ----> objUser.userSMIMECertificate
"userWorkstations" ----> objUser.userWorkstations
"uSNChanged" ----> objUser.uSNChanged
"uSNCreated" ----> objUser.uSNCreated
"uSNDSALastObjRemoved" ----> objUser.uSNDSALastObjRemoved
"USNIntersite" ----> objUser.USNIntersite
"uSNLastObjRem" ----> objUser.uSNLastObjRem
"uSNSource" ----> objUser.uSNSource
"versionNumber" ----> objUser.versionNumber
"wbemPath" ----> objUser.wbemPath
"wellKnownObjects" ----> objUser.wellKnownObjects
"whenChanged" ----> objUser.whenChanged
"whenCreated" ----> objUser.whenCreated
"wWWHomePage" ----> objUser.wWWHomePage
"x121Address" ----> objUser.x121Address
"x500uniqueIdentifier" ----> objUser.x500uniqueIdentifier
Bitte warten ..
Mitglied: RDiller
30.05.2011 um 16:43 Uhr
Hi,

hier eine Acces VBA Prozedur die die Namen ausgibt:
Public Function Get_ObjectNames()
'Show all objectnames
Set ado = CreateObject("ADODB.Connection")
ado.Provider = "ADSDSOObject"
ado.Open
'Suchstring hängt von der AD-Konfiguration und dem Starpunkt Deiner Suche ab
Set rs = ado.Execute("<LDAP://OU=User,OU=...,DC=...,DC=...,DC=...,DC=....,DC=com>;(&(objectClass=user)(samaccountname=*));ADsPath;SubTree")

rs.MoveFirst
Do Until rs.EOF
useradpath = rs.Fields.Item("ADsPath").Value
Set objUser = GetObject(useradpath)
Set objSchema = GetObject(objUser.Schema)
For Each Property In objSchema.MandatoryProperties
Debug.Print Property
Next
For Each Property In objSchema.OptionalProperties
Debug.Print Property
Next
Set objSchema = Nothing
Set objUser = Nothing
Exit Do

rs.MoveNext



Loop
rs.Close
ado.Close
End Function
Bitte warten ..
Mitglied: cableape
31.05.2011 um 08:36 Uhr
Die Werte bekommt man gut bei Yusuf: http://blog.dikmenoglu.de/Die+Active+DirectoryAttribute+Hinter+Den+Feld ...

Aber ich weis nicht wie ich aus dem qquery die Werte der OrganisationUnit rausbekomme!

Vllt. paar Details zum Hintergrund:

Meine User sollen eine Word-Vorlage bekommen die beim aufrufen sofort die Header und die Infos füllt. Im Header steht der Name der Firma und deren Niederlassung. In den Infos finden sich dann Name und Durchwahl weider.
Da der Header für 40 User / Standort gleich ist möchte ich mit die Infos aus der OU ziehen und nich bei jedem im Userprofil eintragen!

Gruß
Bitte warten ..
Mitglied: cableape
06.06.2011 um 08:37 Uhr
Hat keiner ne Info für mich wie ich die Organisation Units in Word einbinden kann???
Bitte warten ..
Heiß diskutierte Inhalte
Linux Netzwerk
NAS läßt sich unter Ubuntu-Server nicht anpingen, unter Windows jedoch schon?!
gelöst dr.zetoVor 1 TagFrageLinux Netzwerk53 Kommentare

Hallo, ich habe das Problem, dass ich eine Synology-NAS unter einem Ubuntu-Server nicht pingen kann. Unter einem Windows-Client jedoch wird der Ping beantwortet. Hierzu ...

Netzwerke
Suche aktuelle Fernwartungsmöglichkeiten ab 2021?
watchdog76Vor 1 TagFrageNetzwerke10 Kommentare

Hallo, das ist für viele vermutlich ein uraltes Thema und es gibt schon viele alte Threads, weshalb ich trotzdem einen eneue Thread geschrieben habe. ...

CPU, RAM, Mainboards
Wohin geht die Zukunft?
cramtroniVor 1 TagFrageCPU, RAM, Mainboards6 Kommentare

Guten Tag zusammen, wir sind gerade dabei, uns eine neue IT-Infrastruktur anzuschaffen, bisher haben wir 2 physische Server, auf denen unsere 9 virtuellen Server ...

Batch & Shell
Accounts nach 6 Monaten löschen
lordofremixesVor 16 StundenFrageBatch & Shell6 Kommentare

Hallo Freunde der Sonne, tatsächlich bin ich jetzt kein ITler mehr, sondern so ein IT Datenschutztyp ITler. Muss leider die Kunden immer darauf hinweisen, ...

Netzwerke
DHCP IP passt nicht zu MAC-Adresse
KirschiVor 12 StundenFrageNetzwerke16 Kommentare

Hallo zusammen, wir haben einen Drucker dem die feste IP 192.168.0.10 per DHCP zugewiesen wird. Ebenso existiert ein PC, der die IP 192.168.0.19 auf ...

Multimedia & Zubehör
Suche Handy im Hallen und Außenbereich
gelöst favoriten-listeVor 1 TagFrageMultimedia & Zubehör6 Kommentare

Hallo Für die Produktion suchen wir aktuell Handy. Es reicht ein normales Tasten Telefon. ( Es muss kein Smartphone sein! ) Es sollte Robust ...

Server-Hardware
10" Server - für Netzwerkschrank
snop123Vor 1 TagFrageServer-Hardware9 Kommentare

Hallo, im Bereich der Heimnetzwerk setzen sich immer mehr 10" Zoll Netzwerkschränke durch. Ich möchte hier keine Diskussion für das für und wider im ...

Drucker und Scanner
Erfahrungen mit Triumph-Adler
gelöst IT-SpitzbubeVor 6 StundenFrageDrucker und Scanner10 Kommentare

Hi, hat jemand von Euch bereits Erfahrungen mit Triumph-Adler im Zusammenhang mit MFPs gemacht. Wenn ja schaut Ihr hierauf positiv oder negativ zurück. Lieben ...