{"id":1718,"date":"2013-09-18T09:25:50","date_gmt":"2013-09-18T07:25:50","guid":{"rendered":"http:\/\/www.ramses.de\/?p=1718"},"modified":"2015-05-05T07:32:42","modified_gmt":"2015-05-05T05:32:42","slug":"faq-access-daten-aus-dem-active-directory-auslesen-2","status":"publish","type":"post","link":"https:\/\/www.ramses.de\/?p=1718","title":{"rendered":"FAQ Access &#8211; Daten aus dem Active Directory auslesen"},"content":{"rendered":"<div>\n<h1>Access\u00a0VBA &#8211; Daten aus dem Active Directory auslesen<\/h1>\n<\/div>\n<h2>Problem :<\/h2>\n<p>Das Access wird in vielen F\u00e4llen genutzt, um die Daten der Benutzer und Ger\u00e4te in einem Netzwerk zu verwalten.Im Rahmen dieser Verwaltung ist es sehr hilfreich, wenn die Daten des angemeldeten Benutzer ausgelesen und verarbeitet weren k\u00f6nnen.<\/p>\n<h2>Probleml\u00f6sung:<\/h2>\n<p>Wir Erzeugen uns eine neue VBA Funktion, zum Beispiel mit dem bezaubernden Namen ADInfo().<\/p>\n<p>Im Rahmen dieser Funktion definieren wir eine Variable, mit der wir das Active Directory (AD) abfragen wollen.<\/p>\n<pre>Dim oADInfo As Object\r\nSet oADInfo = CreateObject(\"ADSystemInfo\")<\/pre>\n<p>&nbsp;<\/p>\n<p>Der angemeldete Benuter landet ebenfalls in einer Variable, dabei nehmen wir den User einmal als Textvariable, um seinen Namen zu speichern und einmal als Object, um den Benutzer samt seiner Eigenschaften dort zu speichern<\/p>\n<pre>Dim oUser As Object, vUser As String<\/pre>\n<p>&nbsp;<\/p>\n<p>Nun f\u00fcllen wir die Variable vUser mit den Daten des angeldeten Users.<\/p>\n<pre>vUser = oADInfo.UserName<\/pre>\n<p>&nbsp;<\/p>\n<p>Interressant ist dabei, das hier nicht nur der Benutzername ermittelt wird, sondern seine Komplettinfo.<br \/>\nNach dem F\u00fcllen steht hier beispielhaft folgendes:<\/p>\n<pre>CN=Q431302,OU=Benutzer,OU=OE 43,OU=FB,OU=Verwaltung,DC=VH,DC=LH,DC=Hannover-Stadt,DC=de<\/pre>\n<p>&nbsp;<\/p>\n<p>Diese Informationnutzen wir nun im n\u00e4chsten Schritt, um uns die einzelnen Felder des AD zu schnappen und auszulesen.<\/p>\n<p>Zu diesem Zwecke definieren wir eine reihe von Variablen.<\/p>\n<pre>Dim vMailAdresse As String, vName As String, vVorname As String, vStrasse As String<\/pre>\n<p>&nbsp;<\/p>\n<p>Diese Variablen f\u00fcllen wir nun, in dem wir die Eigenschaften des Benutzers auslesen und in die Variablen packen.<\/p>\n<pre>vMailAdresse = oUser.mail\r\nvName = oUser.cn\r\nvVorname = oUser.givenName\r\nvStrasse = oUser.streetAddress<\/pre>\n<p>&nbsp;<\/p>\n<p>Im Anschlu\u00df daran kann mit diesen Informationen nat\u00fcrlich allerlei machen, in Tabellen schreiben, anzeigen etc.<\/p>\n<p>Hier nochmal alles auf einmal f\u00fcr das Copy and Paste Erlebnis&#8230;..<\/p>\n<pre>Public Function ADInfos()<\/pre>\n<pre>Dim oADInfo As Object\r\nDim oUser As Object, vUser As String\r\n\r\nDim vMailAdresse As String, vName As String, vVorname As String, vStrasse As String<\/pre>\n<pre>Set oADInfo = CreateObject(\"ADSystemInfo\")\r\nvUser = oADInfo.UserName\r\nSet oUser = GetObject(\"LDAP:\/\/\" &amp; vUser)<\/pre>\n<pre>vMailAdresse = oUser.mail\r\nvName = oUser.cn\r\nvVorname = oUser.givenName\r\nvStrasse = oUser.streetAddress<\/pre>\n<pre>Set oUser = Nothing\r\n\r\nSet oADInfo = Nothing<\/pre>\n<pre>End function<\/pre>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Access\u00a0VBA &#8211; Daten aus dem Active Directory auslesen Problem : Das Access wird in vielen F\u00e4llen genutzt, um die Daten der Benutzer und Ger\u00e4te in &#8230; <a title=\"FAQ Access &#8211; Daten aus dem Active Directory auslesen\" class=\"read-more\" href=\"https:\/\/www.ramses.de\/?p=1718\" aria-label=\"Mehr Informationen \u00fcber FAQ Access &#8211; Daten aus dem Active Directory auslesen\">Weiterlesen &#8230;<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[47,43],"tags":[58,79],"class_list":["post-1718","post","type-post","status-publish","format-standard","hentry","category-access","category-faq","tag-access-2010","tag-netzwerkmehrbenutzerumgebung"],"_links":{"self":[{"href":"https:\/\/www.ramses.de\/index.php?rest_route=\/wp\/v2\/posts\/1718","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ramses.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ramses.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ramses.de\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ramses.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1718"}],"version-history":[{"count":8,"href":"https:\/\/www.ramses.de\/index.php?rest_route=\/wp\/v2\/posts\/1718\/revisions"}],"predecessor-version":[{"id":3238,"href":"https:\/\/www.ramses.de\/index.php?rest_route=\/wp\/v2\/posts\/1718\/revisions\/3238"}],"wp:attachment":[{"href":"https:\/\/www.ramses.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1718"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ramses.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1718"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ramses.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1718"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}