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

Word VBA Attribute eines nicht angemeldeten Users aus dem AD lesen

Frage Entwicklung VB for Applications

Mitglied: Redryder

Redryder (Level 1) - Jetzt verbinden

23.10.2013 um 15:43 Uhr, 4016 Aufrufe, 9 Kommentare

Hallo Admins,

ich habe eine Frage, kann man via VBA (WORD 2003) die Attribute (Firma, Telefonnummer, Email, Fax.....) eines Users, der nicht der angemeldete User ist, aus dem AD auslesen?
die Werte des angemeldeten Users habe ich schon gefunden.
Aber bekomme ich die anderen auch?
Vielen Dank für Eure Hilfe.
Mitglied: bastla
23.10.2013 um 16:15 Uhr
Hallo Redryder!

Schau mal bei den Scripting Guys vorbei ...

Grüße
bastla
Bitte warten ..
Mitglied: Redryder
23.10.2013 um 16:51 Uhr
Danke für Deine Antwort.
Leider werd ich aus den Scripts net ganz schlau.
Ich lese die Daten des angemeldeten Users folgendermassen aus:

Set objSysInfo = CreateObject("ADSystemInfo")
qQuery = "LDAP://" & objSysInfo.UserName
Set objuser = GetObject(qQuery)

strFirma = objuser.company
...
...
...
Damit erhalte ich die Werte aus dem AD, die ich brauche. Leider benötige ich auch Werte anderer User, die gerade nicht an diesem PC angemeldet sind.
(Sekretärin schreibt einen Brief für diverse Kollegen. Möchte deren AD-Werte verwenden)

Ich habe auch schon versucht, den LDAP String zusammenzubasteln. Das ging gewaltigin die Hose. Objekt nicht auf Server vorhanden mit Laufzeitfehler...
Hat jemand noch andere Ideen?
Bitte warten ..
Mitglied: bastla
23.10.2013 um 17:00 Uhr
Hallo Redryder!

Du kannst ja die Suche zB mit
"SELECT Name FROM 'LDAP://cn=Users,dc=fabrikam,dc=com' WHERE objectCategory='user' AND sAMAccountName = '" & Anmeldename & "'"
durchführen (wobei natürlich die Variable "Anmeldename" vorweg bestückt werden muss) ...

Grüße
bastla
Bitte warten ..
Mitglied: colinardo
23.10.2013, aktualisiert um 17:42 Uhr
Halo Redryder,
und zweitens ist es wichtig zu aller erst im AD die Berechtigung für den Abfragenden Useraccount zu vergeben... wenn du das Script nicht mit entsprechenden Rechten startest.
Grüße Uwe
Bitte warten ..
Mitglied: colinardo
23.10.2013, aktualisiert 24.10.2013

Beispiel:

(Zeile 1 an dein Umgebung anpassen, in Zeile 2 den Login-Namen des Accounts angeben den du abfragen möchtest)
Die eigentliche Abfrage der AD-Eigenschaften nimmst du dann ab Zeile 31 vor.
Der User der das Script aufruft muss natürlich die entsprechenden Rechte auf dem AD-Objekt haben das er abruft. Diese kannst du z.B. mit ADSIEdit auf dem Server entsprechend setzen. Oder das Script mit "RunAs" und einem entsprechendem User der diese Rechte hat, starten.
01.
StartNode = "cn=Users,dc=fabrikam,dc=com" 
02.
strAccount = "HMustermann" 
03.
 
04.
Set objCommand = CreateObject("ADODB.Command") 
05.
Set objConnection = CreateObject("ADODB.Connection") 
06.
objConnection.Provider = "ADsDSOObject" 
07.
objConnection.Open "Active Directory Provider" 
08.
objCommand.ActiveConnection = objConnection 
09.
SearchScope = "subtree" 
10.
 
11.
FilterString = "(&(objectCategory=person)(objectClass=user)(sAMAccountName=" & strAccount & "))" 
12.
Attributes = "adspath" 
13.
 
14.
LDAPQuery = "<LDAP://" & StartNode & ">;" & FilterString & ";" _ 
15.
        & Attributes & ";" & SearchScope 
16.
 
17.
objCommand.CommandText = LDAPQuery 
18.
objCommand.Properties("Page Size") = 1500 
19.
objCommand.Properties("Timeout") = 30 
20.
objCommand.Properties("Cache Results") = False 
21.
 
22.
Set objRecordSet = objCommand.Execute 
23.
 
24.
If not objRecordSet.eof then  
25.
   objRecordSet.MoveFirst 
26.
 
27.
   Do Until objRecordSet.EOF 
28.
      strUserPath = objRecordSet.Fields("ADsPath").Value 
29.
      Set objUser = GetObject(strUserPath) 
30.
      '-------get attributes ----------- 
31.
      msgbox objUser.displayName 
32.
      '-------------------------------------- 
33.
      objRecordSet.MoveNext 
34.
   Loop 
35.
End If 
36.
 
37.
objRecordset.Close 
38.
objConnection.Close 
39.
msgbox "Fertig"
Grüße Uwe
Bitte warten ..
Mitglied: Redryder
24.10.2013 um 13:41 Uhr
Danke für die Antwort.
Da der qQuery-String ja vom aussehen identisch ist (abgesehen vom Usernamen) klingt es logisch, dass User A das Profil von User B nicht auslesen kann ohne entsprechende Berechtigung. Die richtige Berechtigung wäre dann ja wohl lesen - oder?
Wenn ich aus Word-VBA heraus einen Select schicken will, muss ich den doch mit runsql beginnen oder?
Das mit dem RunAs funktioniert doch nur, wenn ich ein Windows Skript (vbs, vb oder cmd) aufrufe - oder? kann man so etwas auch in VBA machen?

Ich bin in der Beziehung noch Anfänger.
Danke schon mal für Eure hilfe...
Bitte warten ..
Mitglied: colinardo
24.10.2013, aktualisiert um 21:44 Uhr
Zitat von Redryder:
Die richtige Berechtigung wäre dann ja wohl lesen - oder?
Ja, dies lässt sich im AD sehr fein einstellen, bis auf Property-Ebene. Setz die entsrpechenden zusätzlichen Rechte nur für die benötigten Properties der AD-Objekte und gut is, dann musst du dein Script nicht als Admin oder anderer User starten..(dein Freund hierfür ADSIEdit]
Das mit dem RunAs funktioniert doch nur, wenn ich ein Windows Skript (vbs, vb oder cmd) aufrufe - oder? kann man so etwas auch in
VBA machen?
http://blogs.office.com/b/microsoft-access/archive/2009/11/11/running-a ...

Grüße Uwe
Bitte warten ..
Mitglied: Redryder
25.10.2013 um 08:45 Uhr
Moin Uwe,

ich habe gerade geschaut. Im ADSI Editor würde ich bei den authentifizierten Usern die Berechtigung (unter den Sicherheitseinstellungen der OU) Inhalte auflisten, Eigenschaften lesen und Berechtigung lesen geben. (Ist standart mäßig eingestellt).
Anhand dieser Berechtigunh müsste doch eigentlich jeder an der Domäne angemeldete und authentifizierte User die Berechtigung haben, die Attribute der OU zu lesen -oder?
Die Berechtigungen müssten doch nach unten (die Inhalte der OU) weiterveerbt werden.
Liege ich falsch, oder bin ich auf dem richtigen Weg?
Bitte warten ..
Mitglied: colinardo
25.10.2013 um 17:32 Uhr
Hallo nochmal,
Die Berechtigungen müssten doch nach unten (die Inhalte der OU) weiterveerbt werden.
wenn du dies in den Eigenschaften für die ACL angegeben hast, dann ja:

3712fa4c906bbbfdde9de4a5c87fa3b7 - Klicke auf das Bild, um es zu vergrößern

Grüße Uwe
Bitte warten ..
Ähnliche Inhalte
Windows Server
Berechtigungen für ein Attribut eines Users setzen
Anleitung von 91863Windows Server

Auf Domäne Delegate Control Gruppe oder User auswählen die das Recht bekommt Create a custom task to delegate General ...

VB for Applications
VBA Word - Lieferanten aus Excel in Listbox lesen
gelöst Frage von mreskeVB for Applications5 Kommentare

Hallo ich möchte aus einer UserForm in Word auf Lieferantennamen in Excel zugreifen. Konkret möchte ich hier alle Lieferanten, ...

Windows Userverwaltung
Set AD User Attribute
gelöst Frage von joehuabaWindows Userverwaltung2 Kommentare

Hallo Zusammen, ich habe folgendes Problem: Ich kann per PowerShell in die Attribute von AD-Usern schreiben. (z.B. Stadt) Allerdings ...

Batch & Shell
Powershell AD Attribute auslesen
gelöst Frage von xbast1xBatch & Shell8 Kommentare

Hallo zusammen, ich möchte gern von allen AD Usern die E-Mail,Nachname, Vorname auslesen und in eine CSV exportieren. Ich ...

Neue Wissensbeiträge
Microsoft Office

Office 2010 Starter erneut auf einer frischen Windows-Version installieren

Tipp von Lochkartenstanzer vor 22 StundenMicrosoft Office8 Kommentare

Moin, vor ein paar Tagen schlug bei mir ein Kunde auf, der sein Widnows 7 geschrottet und es inklusive ...

Datenbanken

Upgrade MongoDB 3.4 auf 3.6

Erfahrungsbericht von Frank vor 1 TagDatenbanken

Seit kurzem gibt es das 3.6 Update für die MongoDB: Sicherheit, das Sortieren, Aggregation und auch die Performance wurde ...

SAN, NAS, DAS

Backdoor Zugang und Upload-Bug in vielen Western Digital MyCloud Geräten

Information von Frank vor 1 TagSAN, NAS, DAS2 Kommentare

James Bercegay von der Firma Gulftech hat die Fehler an Western Digital gemeldet und das Unternehmen stellt bereits ein ...

Microsoft Office

Outlook 2016 - Beim Weiterleiten keine PDF Anhänge mehr - KB4011626 entfernen

Erfahrungsbericht von Deepsys vor 1 TagMicrosoft Office3 Kommentare

Wenn ihr feststellt das ihr beim Weiterleiten von E-Mails keine PDF Anhänge mehr versendent, dann dankt Microsoft. Diese tolle ...

Heiß diskutierte Inhalte
Netzwerke
NTFS-Berechtigung
Frage von Daoudi1973Netzwerke23 Kommentare

Hallo zusammen und frohes neues Jahr (Sorry, ich bin spät dran) Meine Frage: 1- Ich habe einen Ordner im ...

iOS
Einladung vom iphone kalender
Frage von jensgebkeniOS15 Kommentare

Hallo Gemeinschaft, folgendes Problem - immer wenn ich von meinem Iphone einen Termin einztrage und diesem Termin Teilnehmer zuweise, ...

Windows Netzwerk
Drucker isolieren in Windows Domäne
gelöst Frage von lcer00Windows Netzwerk14 Kommentare

Hallo zusammen, habe eine Windows-AD (2012R2) in der es einen Druckerserver gibt. Mittlerweile verliere ich das Vertrauen in die ...

Drucker und Scanner
Gesucht DIN A3 Drucker
Frage von NebellichtDrucker und Scanner14 Kommentare

Hallo, ich möchte einen neuen DIN A3 Drucker kaufen. Um ab und zu, ca. 1 mal die Woche Farbausdrucke ...