Hola
Eso es, tienes que utilizar la API GetUserName
Puedes declararla en un modulo
Código:
Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long
Luego creas una función que devuelva el nombre de usuario
Código:
Public Function UsuarioActual() As String
'Esta función devuelve el nombre del Usuario
Dim sBuffer As String
Dim lSize As Long
Dim sUsuario As String
sBuffer = Space$(260)
lSize = Len(sBuffer)
Call GetUserName(sBuffer, lSize)
If lSize > 0 Then
sUsuario = Left$(sBuffer, lSize)
'Quitarle el CHR$(0) del final...
lSize = InStr(sUsuario, Chr$(0))
If lSize Then
sUsuario = Left$(sUsuario, lSize - 1)
End If
Else
sUsuario = ""
End If
UsuarioActual = sUsuario
End Function
Lo de conseguir el grupo al que pertene, no tengo ni idea de si existe alguna API que lo haga, pero de todas formas teniendo el usuario y sabiendo el grupo al que pertenece te puedes crear una select case.
--Saludos--