Announcement

Collapse
No announcement yet.

Usereigenschaften aus AD auslesen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Usereigenschaften aus AD auslesen

    Hi Leute

    Schreib gerade ein kleines Programm bei dem ich von dem angemeldeten Benutzer diverse AD eigenschaften auszulesen (z.B. GivenName, sn, ...)

    Habs jetzt schon geschaft das ich über LDAP aufs AD zugreifen kann, scheitere aber an der Suche des Users

    danke schon mal im Voraus

    Seyerl

  • #2
    vielleicht hilft dir das

    hallo

    folgende änderungen musst du machen:
    o) Me.txteDCIP.Text = die ip des domain controllers
    o) Me.txteDCUsername.Text = domain\username (du kannst domain weglassen wenn du das ad der selben domain abfragst)
    o) Me.txteDCPassword.Text = das passwort des users
    obige infos könntest du auch vom lokal angemeldeten domainuser auslesen

    die Funktion geht alle user durch, hier solltest du abfragen ob zb der sAMAccountname = dem entspricht wonach du suchst
    ausgelesen wird derzeit nur der distinguishedName

    suchst du mehr addest unter der zeile
    distinguishedName = result.GetDirectoryEntry().Properties("distinguish edName").Value.ToString
    zb für den sAMAccountname
    sAMAccountname = result.GetDirectoryEntry().Properties("sAMAccountn ame").Value.ToString
    usw

    welche attribute ein user im ad hat findest du am besten mit adsiedit heraus
    (ist glaub ich im resourcekit inkludiert vom w2k3 server oder danach googlen)

    Imports System.DirectoryServices

    Private Function ReadExternalObjects() As Boolean
    ReadExternalObjects = False
    Dim results As SearchResultCollection
    Dim result As SearchResult
    Dim distinguishedName As String
    Dim myDirectoryEntry As New DirectoryEntry("LDAP://" & Me.txteDCIP.Text)
    myDirectoryEntry.Username = Me.txteDCUsername.Text
    myDirectoryEntry.Password = Me.txteDCPassword.Text
    Dim Search As New DirectorySearcher(myDirectoryEntry)
    Search.SearchRoot = New DirectoryEntry("LDAP://" & Me.txteDCIP.Text, Me.txteDCUsername.Text, Me.txteDCPassword.Text)
    Search.Filter = "(&(objectclass=user))"
    Search.SearchScope = SearchScope.Subtree
    Try
    results = Search.FindAll()
    Catch ex As Exception
    If Err.Number = 5 Then
    MsgBox(ex.Message, MsgBoxStyle.OkOnly Or MsgBoxStyle.Exclamation, "Exclamation")
    ElseIf Err.Number = -2147016646 Then
    MsgBox(ex.Message, MsgBoxStyle.OkOnly Or MsgBoxStyle.Exclamation, "Exclamation")
    Else
    MsgBox(ex.Message & vbCrLf & ex.StackTrace, MsgBoxStyle.OkOnly Or MsgBoxStyle.Critical, "Critical: " & Err.Number)
    End If
    Exit Function
    End Try
    For Each result In results
    distinguishedName = result.GetDirectoryEntry().Properties("distinguish edName").Value.ToString
    msgbox(distinguishedName)
    Next
    ReadExternalObjects = True
    End Function

    lg
    Andre

    Comment

    Working...
    X