Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

ifmoraes

[Resolvido] LDAP com VBScript

Recommended Posts

Boa tarde a todos.

 

Bem, eu não sei se o que quero é fácil, mas eu não estou conseguindo.

 

Quero conseguir o valor do campo "displayName" do AD de meu servidor, sei que utilizando o LDAP é possível, mas tudo que tentei até agora, não funcionou.

 

Hoje já tenho um outro código que pega o campo "UserName" com o qual uso como vairável nessa segunda parte do código, não sei se o código abaixo está correto ou se estou viajando, rs

 

	strU = "SELECT displayName FROM 'LDAP://" & Domain & "' WHERE UserName='"& strUser &"' "
	set cmdUser = server.CreateObject("ADODB.Command")
	set cmdUser.ActiveConnection = oConn
	cmdUser.CommandText = strU
	on error resume next
	set oRSUser = cmdUser.Execute
	strName = oRSUser.Fields(displayName).Value

O que quero trazer é o nome completo cadastrado no AD, por exemplo "Igor Moraes", não estou certo se é o campo displayName que traz essa informação, mas acho que sim

 

Por favor, me ajudem.

 

Desde já muito obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenta assim, vê se ajuda

 

strLogonID = Request.Servervariables("LOGON_USER")

     If InStr(strLogonID, "\") > 0 Then
          strLogonID = LCase(Right(strLogonID, InStr(strLogonID, "\") - 2))
     End If
     
     id = LCase(strLogonID)

    Set User = GetObject("WinNT://scotland/" & id & "")
     Fullname = User.Fullname

'###### Path do Active Directory ######
testepath = "LDAP://CN=" & FullName & ",OU=\#Scots Users,DC=burzum,DC=co,DC=br"
set usr = GetObject(testepath)

'###### Flush cache qualquer lugar ######
usr.GetInfo

'###### variáveis Active Directory ######
strName = usr.get("givenName")
strSurname = usr.get("sn") '###### Users Surname ######
strInitials = usr.get("initials") '###### Users Initials ######
displayName = usr.get("displayName") '###### Full Display Name ######
strAddress = usr.get("StreetAddress") '###### Address Information ######
strRoom = usr.get("PhysicalDeliveryOfficeName") '###### Room/Area Information ######
secretary = usr.get("secretary") '###### Secrectary/Assistant ######
strTitle = usr.get("title") '###### Job Title ######
strTelephone = usr.get("telephoneNumber") '###### Official Intneral Telephone Number ######
strFax = usr.get("facsimileTelephoneNumber") '###### Fax Number ######
mobile = usr.get("mobile") '###### Mobile Number ######
telephoneAssistant = usr.get("telephoneAssistant") '###### Telephone Assistant ######
strDepartment = usr.get("department") '###### Department ######
strCC = usr.get("ExtensionAttribute1") '###### COST Centre ######
strBuilding = usr.get("ExtensionAttribute2") '###### Building ######
strDivision = usr.get("ExtensionAttribute3") '###### Division ######
strBranch = usr.get("ExtensionAttribute4") '###### Branch ######
ExtensionAttribute5 = usr.get("ExtensionAttribute5") '###### PC Item Number ######
ExtensionAttribute6 = usr.get("ExtensionAttribute6") '###### External Telephone Number ######
strGroup = usr.get("ExtensionAttribute7") '###### Group ######
othertelephone = usr.get("othertelephone") '###### GTN Telephone Number ######
samaccountname = usr.get("samaccountname") '###### User ID ######
adspath = usr.get("adspath") '###### Path to AD? ######
strFullName = usr.get("cn") '###### Full Display Name ######
strMail = usr.get("mail") '###### E-Mail ######
strManager = usr.get("manager")                                   '###### Reporting Officer ######
'###### End Active Directory variables ######

set usr = nothing

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenta assim, vê se ajuda

 

strLogonID = Request.Servervariables("LOGON_USER")

     If InStr(strLogonID, "\") > 0 Then
          strLogonID = LCase(Right(strLogonID, InStr(strLogonID, "\") - 2))
     End If
     
     id = LCase(strLogonID)

    Set User = GetObject("WinNT://scotland/" & id & "")
     Fullname = User.Fullname

'###### Path do Active Directory ######
testepath = "LDAP://CN=" & FullName & ",OU=\#Scots Users,DC=burzum,DC=co,DC=br"
set usr = GetObject(testepath)

'###### Flush cache qualquer lugar ######
usr.GetInfo

'###### variáveis Active Directory ######
strName = usr.get("givenName")
strSurname = usr.get("sn") '###### Users Surname ######
strInitials = usr.get("initials") '###### Users Initials ######
displayName = usr.get("displayName") '###### Full Display Name ######
strAddress = usr.get("StreetAddress") '###### Address Information ######
strRoom = usr.get("PhysicalDeliveryOfficeName") '###### Room/Area Information ######
secretary = usr.get("secretary") '###### Secrectary/Assistant ######
strTitle = usr.get("title") '###### Job Title ######
strTelephone = usr.get("telephoneNumber") '###### Official Intneral Telephone Number ######
strFax = usr.get("facsimileTelephoneNumber") '###### Fax Number ######
mobile = usr.get("mobile") '###### Mobile Number ######
telephoneAssistant = usr.get("telephoneAssistant") '###### Telephone Assistant ######
strDepartment = usr.get("department") '###### Department ######
strCC = usr.get("ExtensionAttribute1") '###### COST Centre ######
strBuilding = usr.get("ExtensionAttribute2") '###### Building ######
strDivision = usr.get("ExtensionAttribute3") '###### Division ######
strBranch = usr.get("ExtensionAttribute4") '###### Branch ######
ExtensionAttribute5 = usr.get("ExtensionAttribute5") '###### PC Item Number ######
ExtensionAttribute6 = usr.get("ExtensionAttribute6") '###### External Telephone Number ######
strGroup = usr.get("ExtensionAttribute7") '###### Group ######
othertelephone = usr.get("othertelephone") '###### GTN Telephone Number ######
samaccountname = usr.get("samaccountname") '###### User ID ######
adspath = usr.get("adspath") '###### Path to AD? ######
strFullName = usr.get("cn") '###### Full Display Name ######
strMail = usr.get("mail") '###### E-Mail ######
strManager = usr.get("manager")                                   '###### Reporting Officer ######
'###### End Active Directory variables ######

set usr = nothing

Eu tentei dessa forma, mas descobri que o meu AD aqui da empresa(que não fui eu que configurei) está com as pastas de Usuários com o nome completo dele, por exemplo, o nome da pasta do usuário no AD está como "Igor Moraes" e como essa é a informação que queria buscar lá no AD pesquisando pelo login do e-mail (igor.moraes) não terei como fazer a pesquisa.

 

Alguém tem alguma idéia?

 

Muito obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

você tentando recuperar atraves do Request.Servervariables("LOGON_USER")

strName = usr.get("givenName")

o que ele retorna ????

Compartilhar este post


Link para o post
Compartilhar em outros sites

você tentando recuperar atraves do Request.Servervariables("LOGON_USER")

strName = usr.get("givenName")

o que ele retorna ????

 

Muito obrigado pela ajuda, consegui fazer funcionar como eu queria usando esse modelo que enviou.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal boa tarde,

 

Estou tentando fazer uma conexao com o AD consegui seguindo o escript abaixo, porém não consigo trazer os dados do usuario.

 

A linha response.write oRS.get("displayName")&", display<br />" não aparece, porém se tirar o oRS.get("displayName")& ai o testo ,display aparece.

 

Alguem poderia me dar uma ajuda?

 

<%
function AutUser(Username,Password)
response.write Username&"<br />"
Domain = "192.168.10.1"
        dim strUser,strPass,strQuery,oConn,cmd,oRS
        AuthenticateUser = "0"
        strQuery = "SELECT cn FROM 'LDAP://" & Domain & "' WHERE objectClass='*'"
        set oConn = server.CreateObject("ADODB.Connection")
        oConn.Provider = "ADsDSOOBJECT"
        oConn.properties("User ID") = Username
        oConn.properties("Password")=Password
        oConn.properties("Encrypt Password") = true
        oConn.open "DS Query", Username,Password
        set cmd = server.CreateObject("ADODB.Command")
        set cmd.ActiveConnection = oConn
        cmd.CommandText = strQuery
        on error resume next
        set oRS = cmd.Execute


        if oRS.bof or oRS.eof then
            AuthenticateUser = false
   response.write "falso <br />"
        else
            AuthenticateUser = true
   response.write "verdade <br />"
   response.write oRS.get("displayName")&", display<br />"
        end if
response.write AuthenticateUser
        set oRS = nothing
        set oConn = nothing
end function
call AutUser("teste.01","mudar123")
%>

grato,

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.