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, 3133 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
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Microsoft Office
gelöst SharePoint, Word, Excel. Auslesen mittels VBA und XML (10)

Frage von schwazza zum Thema Microsoft Office ...

Microsoft Office
gelöst VBA Word IBAN zerschneiden (8)

Frage von InSpee zum Thema Microsoft Office ...

Windows Server
AD Replikation zwischen untergeordneten Domäne zwingend? (1)

Frage von Gien-app zum Thema Windows Server ...

VB for Applications
gelöst VBA-Makro verschwindet nach Speichern (5)

Frage von lupi1989 zum Thema VB for Applications ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (25)

Frage von M.Marz zum Thema Windows Server ...

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

Frage von Yannosch zum Thema SAN, NAS, DAS ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Windows 7
Verteillösung für IT-Raum benötigt (12)

Frage von TheM-Man zum Thema Windows 7 ...