Avatar billede Den_nemme Nybegynder
06. februar 2012 - 14:36 Der er 3 kommentarer og
1 løsning

Importere fra Active Directory

Hej
Jeg søger en løsning på hvordan jeg henter data fra vores Active Directory til Excel. Jeg har overhovedet ingen ide om hvor kompliseret det er, men jeg har "i sin enkelthed" brug for at skrive en persons initialer i en celle og vil så have at der hentes andre oplysninger om personen ind i cellerne ved siden af.
Håber nogen kan hjælpe. Jeg har søgt og søgt og fundet adskillige beskrivelser på hvordan det burde virke, men det virker bare ikke her hos mig :(
Avatar billede natkatten Mester
06. februar 2012 - 14:48 #1
Har du de fornødne rettigheder til jeres AD?

Selv bruger jeg Hyena til at hente Ad-oplysninger ind i Excel. Hyena kan hentes i en 30-dages gratis evalueringsversion her:

http://www.systemtools.com/hyena/index.html?gclid=CPHj1ei9ia4CFQXwzAodVFQY2Q
Avatar billede Den_nemme Nybegynder
06. februar 2012 - 14:57 #2
Jeg forestillede mig egentlig, at jeg kunne lave en forespørgsel i Visual Basic... Eller det kan man måske ikke?
Det er lykkedes mig at hente alle data ved hjælp af en .vbs fil, så mon ikke jeg har de rettigheder der er behov for?
Avatar billede Den_nemme Nybegynder
06. februar 2012 - 16:11 #3
Please!
Jeg har fundet scriptet nedenfor, men jeg kan ikke få det til at virke... Er der virkelig ikke nogen der kan hjælpe mig?


Function GetAdsProp(ByVal SearchField As String, ByVal SearchString As String, ByVal ReturnField As String) As String
    ‘ Get the domain string ("dc=domain, dc=local")
    Dim strDomain As String
    strDomain = GetObject("LDAP://rootDSE").Get("defaultNamingContext")
   
    ‘ ADODB Connection to AD
    Dim objConnection As ADODB.Connection
    Set objConnection = CreateObject("ADODB.Connection")
    objConnection.Open "Provider=ADsDSOObject;"
       
    ‘ Connection
    Dim objCommand As ADODB.Command
    Set objCommand = CreateObject("ADODB.Command")
    objCommand.ActiveConnection = objConnection
       
    ‘ Search the AD recursively, starting at root of the domain
    objCommand.CommandText = _
        "<LDAP://" & strDomain & ">;(&(objectCategory=User)" & _
        "(" & SearchField & "=" & SearchString & "));" & SearchField & "," & ReturnField & ";subtree"

    ‘ RecordSet
    Dim objRecordSet As ADODB.Recordset
    Set objRecordSet = objCommand.Execute
         
   
    If objRecordSet.RecordCount = 0 Then
        GetAdsProp = "not found"  ‘ no records returned
    Else
        GetAdsProp = objRecordSet.Fields(ReturnField)  ‘ return value
    End If
     
    ‘ Close connection
    objConnection.Close
   
    ‘ Cleanup
    Set objRecordSet = Nothing
    Set objCommand = Nothing
    Set objConnection = Nothing
End Function
Avatar billede Den_nemme Nybegynder
21. februar 2012 - 15:57 #4
ØV ØV ØV - Ingen brugbare svar... Lukker :(
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
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

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