Solved

Displaying user's full name from active directory

Posted on 2010-09-05
9
625 Views
Last Modified: 2012-05-10
Hi,

Can anyone tell me code that will allow me to display the current logon user's full name taken from the active directory and display it in a textbox or caption for my visual basic app ?
0
Comment
Question by:TechLad
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
9 Comments
 
LVL 9

Expert Comment

by:khaledf
ID: 33607046
here is a sample code that may get you what you need
http://www.bigresource.com/VB-User-info-from-Active-Directory-evDBnWrl2w.html
0
 
LVL 65

Expert Comment

by:rockiroads
ID: 33607136
How about summat like this, add to a module then call GetLoggedInUserID


Private Declare Function GetUserName Lib "advapi32" Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long
Private Declare Function lstrlenW Lib "kernel32" (ByVal lpString As Long) As Long

Public Function GetLoggedInUserID() As String

    Dim sBuffer As String
    Dim lSize As Long
   
    sBuffer = Space$(255)
    lSize = Len(sBuffer)
   
    If GetUserName(sBuffer, lSize) = 1 Then
        GetLoggedInUserID = Left$(sBuffer, lstrlenW(StrPtr(sBuffer)))
    Else
        GetLoggedInUserID = Environ("Username")
    End If

End Function

0
 

Author Comment

by:TechLad
ID: 33607209
Thats not going to work as that looks like it's going to display the username, i'm wanting to display the full name so for example

Username = 123654
Full name = Techlad
0
Free NetCrunch network monitor licenses!

Only on Experts-Exchange: Sign-up for a free-trial and we'll send you your permanent license!

Here is what you get: 30 Nodes | Unlimited Sensors | No Time Restrictions | Absolutely FREE!

Act now. This offer ends July 14, 2017.

 
LVL 11

Expert Comment

by:sighar
ID: 33607259
Check this out: http://groups.google.com/group/VBScript/browse_thread/thread/dfff2a978ff19fa7

I adapted the script there to this one:

Set objRootDSE = GetObject("LDAP://RootDSE")
If Err.Number = 0 Then
    strNamingContext = objRootDSE.Get("defaultNamingContext")
    WScript.Echo("Connected to:...... " & strNamingContext)
Else
    WScript.Echo("Unable to connect to Active Directory." & vbCrLf & 
"Exiting Script." & vbCrLf)
    objShell.Popup line, 10, vbTab & "Logon Script", 48
    objLogFile.Close
    Wscript.Quit
End If
Set objADSysInfo = CreateObject("ADSystemInfo")
strUserDN = objADSysInfo.username
WScript.Echo("DN:................ " & strUserDN)
' Bind to user object
Set objUser = Getobject("LDAP://" & strUserDN)

strFirstName = objUser.Get("givenName")
strInitials = objUser.Get("initials")
strLastName = objUser.Get("sn")
0
 

Author Comment

by:TechLad
ID: 33607343
how does that allow me to display the user's full name in a text box or lable or something ?
0
 
LVL 65

Expert Comment

by:rockiroads
ID: 33607372
I found code on the ms website which iterates all users but can be tweaked to get current user but sighar has already posted code which looks like it will work so unnecessary to post what I found.

the values you can get you just assign to a textbox textbox.value or use the variables like sighar has done
0
 

Author Comment

by:TechLad
ID: 33607424
This is the problem I don't know how to change the code to work with my Visual Basic 6 application
0
 

Accepted Solution

by:
TechLad earned 0 total points
ID: 33607436
I found a solution now

Set oADSystemInfo = CreateObject("ADSystemInfo")
Set oADsUser = GetObject("LDAP://" & oADSystemInfo.UserName)
GetLoggedInUserID = oADsUser.DisplayName
0
 
LVL 65

Expert Comment

by:rockiroads
ID: 33607445
ok, if you find sighar's code working then change it to a function to return the name
eg

public function GetFullName()

 ... sighar's code here

  'Return value
  GetFullName = strFirstName & " " & strLastName

end function


add it to a module

now in your form code you do this

mytextbox.value= GetFullName
0

Featured Post

Free NetCrunch network monitor licenses!

Only on Experts-Exchange: Sign-up for a free-trial and we'll send you your permanent license!

Here is what you get: 30 Nodes | Unlimited Sensors | No Time Restrictions | Absolutely FREE!

Act now. This offer ends July 14, 2017.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article describes how to use a set of graphical playing cards to create a Draw Poker game in Excel or VB6.
Make the most of your online learning experience.
In this fifth video of the Xpdf series, we discuss and demonstrate the PDFdetach utility, which is able to list and, more importantly, extract attachments that are embedded in PDF files. It does this via a command line interface, making it suitable …
Starting up a Project

691 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question