Avatar billede lsskaarup Nybegynder
23. marts 2006 - 10:27 Der er 6 kommentarer og
1 løsning

Identificere bruger i Active Directory

Jeg har et word dokument indeholdende makro, der åbner en en form. I denne form, har jeg en drop-down menu, der viser navnede på brugerne i Active Directory (AD).

Så vil jeg gerne have, at når det klikkes på en knap, så kommer der forskellige brugeroplysninger med over i et bogmærke i word, alt efter hvem der ud er valgt i drop-down.

Men hvordan gøre jeg der smartest, det skal jo helst være så dynamisk, at jeg ikke i fremtiden skal ind og ændre i makronen, fordi der er sket nogle små ændringer i AD.
Avatar billede Slettet bruger
23. marts 2006 - 11:01 #1
Hej kan du se iden i nedestående? row er så = Distinguish name

          Dim row As String
       
            row = Me.dataGridSearch.SelectedRows.Item(0).Cells.Item(1).Value
            Dim ent As New DirectoryEntry("LDAP://" & row)
            Dim mySearcher As New DirectorySearcher(ent)
            Dim resEnt As SearchResult = mySearcher.FindOne()
            Dim groups As ResultPropertyValueCollection = resEnt.Properties("memberOf")
            txtBasicName.Text = ent.Properties("name").Value
Avatar billede lsskaarup Nybegynder
23. marts 2006 - 11:14 #2
Nej, ikke helt.

Jeg har endnu ikke programmeret så meget i VB/VBA, så jeg roder stadig meget rundt fordi jeg ikke ved hvad de forskellige ting hedder og betyder.

Kunne faktisk godt tænke mig en side, hvor man kunne slå de forskellige ting op, hvad de gjorde og hvordan man kunne bruge dem. Lidt a la www.php.net, har dog kigget på msdn, men jeg synes aldrig jeg finder det jeg skal bruge der, nok fordi jeg ikke synes at kunne finde rundt på den.
Avatar billede lsskaarup Nybegynder
23. marts 2006 - 11:26 #3
Jeg er ikke helt med på den første linie, men i mit første udtræk får jeg distinguishedName, så kan jeg ikek bare sætte row = rs.Fields("distinguishedName")?
Avatar billede lsskaarup Nybegynder
23. marts 2006 - 11:36 #4
Min sub ser sådanne ud:

Sub find_bruger()
' Create the connection and command object.
Set oConnection1 = CreateObject("ADODB.Connection")
Set oCommand1 = CreateObject("ADODB.Command")
' Open the connection.
oConnection1.Provider = "ADsDSOObject"  ' This is the ADSI OLE-DB provider name
oConnection1.Open "Active Directory Provider"
' Create a command object for this connection.
Set oCommand1.ActiveConnection = oConnection1

' Compose a search string.
oCommand1.CommandText = "select name, telephoneNumber, mail, title, facsimileTelephoneNumber, mobile, distinguishedName " & _
"from 'LDAP://servernavn'" & _
"WHERE objectCategory='Person'" & _
"AND objectClass='user'" & _
"AND department=100" & _
"OR department=210" & _
"OR department=220" & _
"OR department=230" & _
"OR department=300" & _
"OR department=310" & _
"OR department=400" & _
"OR department=410" & _
"OR department=700"

' Execute the query.
Set rs = oCommand1.Execute
'--------------------------------------
' Navigate the record set
'--------------------------------------

While Not rs.EOF
    startBoks.ComboBox1.AddItem rs.Fields("name")
   
    'Debug.Print rs.Fields("name") & ", " & rs.Fields("telephoneNumber") & ", " & rs.Fields("mail") & ", " & rs.Fields("title") & ", " & rs.Fields("facsimileTelephoneNumber") & ", " & rs.Fields("mobile") & ", ---- " & rs.Fields("distinguishedName")
    rs.MoveNext
Wend

End Sub
Avatar billede lsskaarup Nybegynder
28. marts 2006 - 09:00 #5
Space er du der?
Avatar billede lsskaarup Nybegynder
25. april 2006 - 08:29 #6
hallo
Avatar billede lsskaarup Nybegynder
02. maj 2006 - 13:10 #7
Nå, jeg laver et nyt spørgsmål, da jeg ikke blev klogere af dette.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester