Top-Themen

Aktuelle Themen (A bis Z)

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, 3205 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 ..
Ähnliche Inhalte
Microsoft Office
VBA Word IBAN zerschneiden
gelöst Frage von InSpeeMicrosoft Office8 Kommentare

Hallo, wie kann ich mit VBA eine IBAN in 4er Schritten zerschneiden, sodass die IBAN so aussieht: DExx xxxx ...

VB for Applications
Excel-VBA nach Word-VBA übersetzen (V. 2010)
gelöst Frage von spinnifexVB for Applications2 Kommentare

Hallo Admins, wie kann ich folgendes XL-Makro nach Word übersetzen, wobei die Zelladresse "A1" als Textmarke "Anzahl" angesprochen werden ...

Batch & Shell
Word VBA - Powershell - Seitenzahlen - jede Seite
gelöst Frage von internet2107Batch & Shell2 Kommentare

Man möchte gerne bestehende Worddokumente entsprechend ändern (mit POwershell), dass folgende Zusätze eingebaut werden. Ich finde Unmengen an Material ...

VB for Applications
VBA - Bereich von Excel nach Word kopieren
gelöst Frage von schwazza89VB for Applications6 Kommentare

Hallo zusammen, ich suche eine Möglichkeit einen Bereich aus Excel in eine Tabelle in Word zu kopieren. Meinen ersten ...

Neue Wissensbeiträge
Batch & Shell

Open Object Rexx: Eine mittlerweile fast vergessene Skriptsprache aus dem Mainframebereich

Information von Penny.Cilin vor 19 StundenBatch & Shell8 Kommentare

Ich kann mich noch sehr gut an diese Skriptsprache erinnern und nutze diese auch heute ab und an noch. ...

Humor (lol)

"gimme gimme gimme": Automatischer Test stolpert über Easter Egg im man-Tool

Information von Penny.Cilin vor 21 StundenHumor (lol)6 Kommentare

Interessant, was man so alles als Easter Egg implementiert. Ist schon wieder Ostern? "gimme gimme gimme": Automatischer Test stolpert ...

MikroTik RouterOS

Mikrotik - Lets Encrypt Zertifikate mit MetaROUTER Instanz auf dem Router erzeugen

Anleitung von colinardo vor 1 TagMikroTik RouterOS8 Kommentare

Einleitung Folgende Anleitung ist aus der Lage heraus entstanden das ein Kunde auf seinem Mikrotik sein Hotspot Captive Portal ...

Sicherheit

Sicherheitslücke in HP-Druckern - Firmware-Updates stehen bereit

Information von BassFishFox vor 1 TagSicherheit1 Kommentar

Ein weiterer Grund, dass Drucker keinerlei Verbindung nach "auswaerts" haben sollen. Unter Verwendung spezieller Malware können Angreifer aus der ...

Heiß diskutierte Inhalte
Windows Server
RDP macht Server schneller???
Frage von JaniDJWindows Server17 Kommentare

Hallo Community, wir betrieben seit geraumer Zeit diverse virtuelle Maschinen und Server mit Windows Server 2012. Leider haben wir ...

Windows 10
Bitlocker nach Verschlüsselung nicht mehr aufrufbar!
gelöst Frage von alexlazaWindows 1013 Kommentare

Hallo, ich besitze ein HP ZBook 17 G4 mit einem Windows 10 Pro Betriebssystem. Bei diesem Problem handelt sich, ...

Off Topic
Fachkräftemangel in Deutschland? - Talentschmiede schreibt alle 2 Tage die gleichen Stellen aus
Frage von Penny.CilinOff Topic12 Kommentare

Hallo, haben wir in Deutschland Fachkräftemangel? Die Talentschmiede schreibt gefühlt alle zwei Tage dieselben Stellen aus. Und das schon ...

Windows Server
Sichere Remote Desktop Verbindung wie?
gelöst Frage von nuss33Windows Server11 Kommentare

Hallo zusammen, eins vorweg: Ich besitze einen privaten Windows Server 2008 R2 zu Hause im Netzwerk er wird nicht ...