Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

VBA - AD Infos in Word

Frage Entwicklung VB for Applications

Mitglied: cableape

cableape (Level 1) - Jetzt verbinden

30.05.2011 um 14:10 Uhr, 3148 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:
01.
Sub AutoNew() 
02.
03.
' AD_Reader Makro 
04.
05.
06.
On Error Resume Next 
07.
Dim qQuery, objSysInfo, objuser, objOU 
08.
Dim Firma, Tel2, Name, EMail, Phone, Fax, web, position, Abteilung 
09.
 
10.
' Active Directory Informationen für den angemeldeten User lesen 
11.
Set objSysInfo = CreateObject("ADSystemInfo") 
12.
objSysInfo.RefreshSchemaCache 
13.
qQuery = "LDAP://" & objSysInfo.UserName 
14.
 
15.
Set objuser = GetObject(qQuery) 
16.
 
17.
'Variablen mit AD-Attributen füllen 
18.
Firma = objuser.department & " - " & objuser.company 
19.
Abteilung = objuser.physicalDeliveryOfficeName 
20.
Name = objuser.firstname & " " & objuser.lastname 
21.
Phone = objuser.TelephoneNumber 
22.
Fax = objuser.facsimileTelephoneNumber 
23.
EMail = objuser.mail 
24.
web = objuser.WWWHomePage 
25.
position = objuser.Description 
26.
Strasse = objuser.streetAddress 
27.
Ort = objuser.l 
28.
PLZ = objuser.postalCode 
29.
Tel2 = objuser.HomePhone 
30.
 
31.
smsEinfügen "Firma", Firma 
32.
smsEinfügen "Name", Name 
33.
smsEinfügen "Telefon", Telefon 
34.
smsEinfügen "Fax", Fax 
35.
smsEinfügen "Strasse", Strasse 
36.
smsEinfügen "Ort", Ort 
37.
smsEinfügen "PLZ", PLZ 
38.
smsEinfügen "EMail", EMail 
39.
smsEinfügen "Web", web 
40.
smsEinfügen "Tel2", Tel2 
41.
smsEinfügen "title", position 
42.
 
43.
End Sub 
44.
 
45.
Public Sub smsEinfügen(Textmarke, Variable) 
46.
' Prozedur zum Einfügen des Wertes ("Variable") an der entsprechenden Textmarke 
47.
If ActiveDocument.Bookmarks.Exists(Textmarke) = True Then 
48.
Selection.GoTo What:=wdGoToBookmark, Name:=Textmarke 
49.
Selection.TypeText Variable 
50.
End If 
51.
End Sub
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 ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Windows Server
Export von Email Adressen aus dem AD (Windows 2008) (4)

Frage von uridium69 zum Thema Windows Server ...

Windows Server
gelöst DirectAccess Einstellungen im AD entfernen (3)

Frage von Neukunde zum Thema Windows Server ...

Datenbanken
Access 2010 - Filter für Datum funkioniert nicht VBA (4)

Frage von Dr.Cornwallis zum Thema Datenbanken ...

Heiß diskutierte Inhalte
Zusammenarbeit
Als Administrator im Großraumbüro (29)

Frage von Dopamin85 zum Thema Zusammenarbeit ...

Exchange Server
Test-ActiveSyncConnectivity Error nach neuem Zertifikat (22)

Frage von Driphex zum Thema Exchange Server ...

Hardware
Laptop ins Salzwasser gefallen (18)

Frage von Marcel94 zum Thema Hardware ...

Hardware
Lenovo Yoga 500 über angeschlossene USB Tastatur booten (12)

Frage von thomasreischer zum Thema Hardware ...