Utilizamos cookies propias y de terceros. [Más información sobre las cookies].
Política de cookies
Proyecto AjpdSoft

· Inicio
· Buscar
· Contactar
· Cookies
· Descargas
· Foros
· Historia
· Nosotros
· Temas
· Top 10
· Trucos
· Tutoriales
· Wiki
Obtener datos usuario Active Directory Windows - Visual Basic
Lenguaje de programación Visual Basic

Os mostramos cómo obtener datos de un usuario perteneciente a un dominio Windows con Active Directory, utilizando ADSI (Active Directory Service Interfaces) y Visual Basic.

Para que esto funcione, en Visual Basic, hay que agregar en el menú "Proyecto" - "Referencias", "Active DS Type Library", correspondiente al fichero: activeds.tlb.


Private Sub obtenerDatosUsuario_Click()
    Dim objetoUsuario, gruposSeguridad
    Dim ultimoInicioSesion As String
    Dim dominio As String
    Dim nombreUsuario As String
    Dim estadoCuenta As String
    Dim gruposSeguridadUsuario As String
    
    dominio = InputBox("Nombre del dominio Windows Server", "")

    nombreUsuario = InputBox("Nombre de usuario del dominio", "")
    
 '   On Error GoTo cError
 
    On Error Resume Next
    
    Set objetoUsuario = GetObject("WinNT://" + dominio + "/" + nombreUsuario + ",user")
    If Err.Number = 0 Then
        If objetoUsuario.AccountDisabled = True Then
                estadoCuenta = "Deshabilitado"
            ultimoInicioSesion = "No existe"
        Else
            estadoCuenta = "Habilitado"
            ultimoInicioSesion = objetoUsuario.Get("Lastlogin")
        End If
        
        gruposSeguridad = ""
        For Each gruposSeguridad In objetoUsuario.Groups
            If gruposSeguridadUsuario = "" Then
              gruposSeguridadUsuario = gruposSeguridad.Name
            Else
              gruposSeguridadUsuario = gruposSeguridadUsuario + ", " + gruposSeguridad.Name
            End If
        Next

        
        'Mostramos los datos del usuario
        MsgBox "Nombre completo: " & objetoUsuario.Get("Fullname") & vbCrLf & _
            "Descripción: " & objetoUsuario.Get("Description") & vbCrLf & _
            "Nombre: " & objetoUsuario.Get("Name") & vbCrLf & _
            "Carpeta de inicio: " & objetoUsuario.Get("HomeDirectory") & vbCrLf & _
            "Script de inicio: " & objetoUsuario.Get("LoginScript") & vbCrLf & _
            "Último inicio de sesión: " & ultimoInicioSesion & vbCrLf & _
            "Perfil: " & objetoUsuario.Get("Profile") & vbCrLf & _
            "Estado de la cuenta: " & estadoCuenta & vbCrLf & _
            "Grupos seguridad: " & gruposSeguridadUsuario, vbInformation + vbOKOnly
        Set objetoUsuario = Nothing
    Else
        MsgBox "No existe el usuario " + nombreUsuario + " o el dominio " + dominio, vbExclamation + vbOKOnly
    End If
    
'cSalir:
'    Exit Sub
'
'cError:
'    MsgBox "Error " + CStr(Err.Number) + " " + Err.Description
'    GoTo cSalir
End Sub




Publicado el: 2008-10-16

Visita nuestro nuevo sitio web con programas y contenidos actualizados: Proyecto A