Rad's code a bit revised.


Code:
'User Name is: ' + Join(Split(GetUserADName(7,1),CHR(32)),'') ?

Function GetUserADName($FN,$LN)
  Dim $LDAP, $UserProperties, $FirstName, $LastName
  Dim $Left, $Right, $ShortName, $Err
  $LDAP	= TranslateName(1, @DOMAIN, 3, @LDOMAIN+'\'+@USERID, 1)
  $Err = @ERROR
  If $Err Exit $Err EndIf
  $UserProperties = GetObject("LDAP://"+$LDAP[0])
  $Err = @ERROR
  If $Err Exit $Err EndIf
  $FirstName = $UserProperties.FirstName
  $LastName = $UserProperties.LastName
  $Left = Trim(Left($FirstName,$FN)) ;$FN is the number of characters to get
  $Right = Trim(Left($LastName,$LN)) ;$LN is the number of characters to get
  $ShortName = $Left+CHR(32)+$Right
  $GetUserADName = $ShortName
  Exit @ERROR
EndFunction

Function TranslateName ($InitType, $BindName, $LookupNameType, $LookupName, $ReturnNameType)
  Dim $NameTranslate, $ReturnName, $Error, $ErrorText
  $Error = 0
  $ErrorText = ""
  $ReturnName = ""
  $NameTranslate = CreateObject("NameTranslate")
  $Error = @ERROR
  $ErrorText = @SERROR
  If $Error = 0
    $NameTranslate.Init($InitType,$BindName)
    $Error = @ERROR
    $ErrorText = @SERROR
    If $Error = 0
      $NameTranslate.Set($LookupNameType,$LookupName)
      $Error = @ERROR
      $ErrorText = @SERROR
      If $Error = 0
        $ReturnName = $NameTranslate.Get($ReturnNameType)
        $Error = @ERROR
        $ErrorText = @SERROR
      EndIf
    EndIf
  EndIf
  $TranslateName = $ReturnName, $Error, $ErrorText
Endfunction



.