Avatar billede melieha Nybegynder
15. januar 2007 - 10:02 Der er 3 kommentarer og
1 løsning

ADSI/LDAP/xxx? Hente brugerinformationer ud af AD.

Hejsa, jeg har et script der kører på en IIS server, det kører kun lokalt indtil videre.

Der bliver brugt AD til at styre adgangen til scriptet, og i forbindelse med det har vi nogle som står som er manager for andre brugere, disse skal kunne gå ind og godkende indsendte formularer fra de brugere som lægger under dem.
Jeg har endnu ikke fået hentet nogen "ordentlig" data ud, da det heletiden giver problemer. Det bedste jeg har kunnet klare er en liste over domænets grupper og brugerne i disse (Ud fra et forudlavet script) - Og det er jo ikke helt hvad jeg søger.
Jeg har kigget en masse rundt på LDAP/ADSI, men kan ikke rigtig få det til at spille som jeg gerne vil.

Jeg ville allerhelst hvis jeg kunne lave en simpel SQL sætning som hiver brugerne under en bruger ud, eventuelt til at starte med, bare en sætning der virker uden problemer, om den så hiver telefonnr ud eller hvad den gør kan som sådan være ligemeget, det ville bare være rart med noget som virker :)

Håber det er til at forstå, og på forhånd tak :)
Avatar billede tsunami Nybegynder
15. januar 2007 - 13:31 #1
Du kan finde mange oplysninger om dette på Microsoft hjemmeside... en lille godt program til at lære de forskellige måder og se hvordan det virker er Scriptomatic fra microsoft...

Stien til oplysninger og andet er
http://www.microsoft.com/technet/scriptcenter/createit.mspx#E4

Ide'en er at bruge WMI til at udføre forspørgslerne og selvom de fleste eksempler er beskrevet som klient side forspørgsler burde det ikke være svært at omskrive dem til ASP eller andet :)
Avatar billede melieha Nybegynder
30. januar 2007 - 13:08 #2
Jeg fandt/sammensatte en løsning som til sidst kom til at virke som forventet. Følgende kode burde kunne komme til at virke for de fleste, så længe den bruger der bliver skrevet ind har de rette permissions.
''--Vi henter brugerens "distinguishedName" name ud, da det er det som "manager"-feltet refererer til.
strUsername = Request.ServerVariables("auth_user")
strUserName = Right(strUserName, Len(strUserName) - InStrRev(strUserName, "\"))
Set objDomain = GetObject ("GC://rootDSE")
objADsPath = objDomain.Get("defaultNamingContext")
Set objDomain = Nothing
Set con = Server.CreateObject("ADODB.Connection")
con.provider ="ADsDSOObject"
''--For at undgå adgangsproblemer er der oprettet en bruger til at lave opslaget.
con.Properties("User ID") = "!!Eventuelt brugernavn!!"
con.Properties("Password") = "!!Eventuelt password!!"
con.open "Active Directory Provider"
Set Com = CreateObject("ADODB.Command")
Set Com.ActiveConnection = con
'Com.CommandText ="select manager FROM 'GC://"+objADsPath+"' where sAMAccountname='"+strUsername+"'"
Com.CommandText ="select distinguishedName FROM 'GC://"+objADsPath+"' where sAMAccountname='" & strUsername & "'"
Set rs = Com.Execute
do while not rs.EOF
response.write rs("distinguishedName") & "<br />"
rs.movenext
loop
rs.Close
con.Close
Set rs = Nothing
Set con = Nothing
Avatar billede tsunami Nybegynder
30. januar 2007 - 13:58 #3
Godt du fandt en løsning :)
Avatar billede melieha Nybegynder
01. februar 2007 - 09:32 #4
Jo tak :) Det link du sendte kunne jeg ikke umiddelbart bruge til noget desværre, ellers tak :)

Jeg fandt en ldap browser (Softerra LDAP browser), og igennem den fandt jeg ud af at der var lidt problemer med nogle rettigheder for normale brugere. Men det er også helt kanon for at finde ud af hvad de forskellige felter hedder og om det er ens udtræk den er gal med, eller om det er inde i ens AD at der mangler noget :)
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