¿como puedo saber las propiedades disponibles del «user» en mi LDAP?

Dim EntradasEnElDirectorio As New DirectoryEntry(«LDAP://mi.servidor.com»)
Dim BusquedaEnElDirectorio As New DirectorySearcher(EntradasEnElDirectorio)
BusquedaEnElDirectorio.Filter = «(ObjectClass=user)»
Dim EntradaEnDirectorio As DirectoryEntry
    For Each Busqueda As SearchResult In BusquedaEnElDirectorio.FindAll()
         EntradaEnDirectorio = Busqueda.GetDirectoryEntry
         For Each propiedad As String In EntradaEnDirectorio.Properties.PropertyNames
              Me.ListBox1.Items.Add(propiedad)
         Next

     Next


 


Saludos,


Pep Lluis

Saber de nuestros Usuarios en LDAP, Rerellando un GridView desde una Consulta.

LDAP

‘Saber de los Usuarios en nuestro LDAP
Imports System.DirectoryServices        ‘Espacio de nombres
Public Class Form1
    Private Datagrid As New DataGridView
    ‘Constructor para nuestro DataGridView
   
    ‘ Nuestra particular clase para definir un Usuario
    Private Class UserInfo
       
        ‘Leer/Asignar su nombre
        Private m_Nombre As String
        Public Property Nombre() As String
            Get
                Return m_Nombre
            End Get
            Set(ByVal value As String)
                m_Nombre = value
            End Set
        End Property
       
        ‘Leer/Asignar su Descripcion
        Private m_Descripcion As String

        Public Property Descripcion() As String
            Get
                Return m_Descripcion
            End Get
            Set(ByVal value As String)
                m_Descripcion = value
            End Set
        End Property
    End Class
   
    ‘ Al Cargar el Formulario
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        ‘Incorporar el DataGridView a nuestro form
        Me.Controls.Add(Datagrid)
        Me.Datagrid.Dock = DockStyle.Fill           ‘Ocupar toda el area del form
        Me.Datagrid.AllowUserToAddRows = False      ‘No se puede añadir celdas
        Me.Datagrid.AllowUserToDeleteRows = False   ‘No se puede eliminar celdas
        Me.Datagrid.EditMode = DataGridViewEditMode.EditProgrammatically
        ‘Nuestros apuntes en el directorio del Servidor
        Dim EntradasEnElDirectorio As New DirectoryEntry(LDAP://Servidor)
        ‘Nuestro buscador
        Dim BusquedaEnElDirectorio As New DirectorySearcher(EntradasEnElDirectorio)
      
 ‘Filtro de busqueda
        BusquedaEnElDirectorio.Filter = «(ObjectClass=user)»
    
   ‘Leer las entradas de usuario
        Dim Entradas = From usuario As SearchResult In BusquedaEnElDirectorio.FindAll() _
                       Select usuario.GetDirectoryEntry
        ‘Rellenar el DataGridView con el resultado de la consulta, con la info requerida
        Datagrid.DataSource = _
        (From usuario In Entradas _
        Select New UserInfo() With {.Nombre = usuario.Properties(«name»).Value, _
                                    .Descripcion = usuario.Properties(«description»).Value}).ToList
    End Sub
End Class 

Saber de nuestros Usuarios en el LDAP, con DataGrid desde Consulta integrada

 

‘Saber de los Usuarios en nuestro LDAP
Imports System.DirectoryServices        ‘Espacio de nombres Public Class Form1
    Private Datagrid As New DataGridView
    ‘Constructor para nuestro DataGridView
   
    ‘ Nuestra particular clase para definir un Usuario
    Private Class UserInfo
       
        ‘Leer/Asignar su nombre
        Private m_Nombre As String
        Public Property Nombre() As String
            Get
                Return m_Nombre
            End Get
            Set(ByVal value As String)
                m_Nombre = value
            End Set
        End Property
       
        ‘Leer/Asignar su Descripcion
        Private m_Descripcion As String

        Public Property Descripcion() As String
            Get
                Return m_Descripcion
            End Get
            Set(ByVal value As String)
                m_Descripcion = value
            End Set
        End Property
    End Class
   
    ‘ Al Cargar el Formulario
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        ‘Incorporar el DataGridView a nuestro form
        Me.Controls.Add(Datagrid)
        Me.Datagrid.Dock = DockStyle.Fill           ‘Ocupar toda el area del form
        Me.Datagrid.AllowUserToAddRows = False      ‘No se puede añadir celdas
        Me.Datagrid.AllowUserToDeleteRows = False   ‘No se puede eliminar celdas
        Me.Datagrid.EditMode = DataGridViewEditMode.EditProgrammatically
        ‘Nuestros apuntes en el directorio del Servidor
        Dim EntradasEnElDirectorio As New DirectoryEntry(LDAP://Servidor)
        ‘Nuestro buscador
        Dim BusquedaEnElDirectorio As New DirectorySearcher(EntradasEnElDirectorio)
      
 ‘Filtro de busqueda
        BusquedaEnElDirectorio.Filter = «(ObjectClass=user)»
    
   ‘Leer las entradas de usuario
        Dim Entradas = From usuario As SearchResult In BusquedaEnElDirectorio.FindAll() _
                       Select usuario.GetDirectoryEntry
        ‘Rellenar el DataGridView con el resultado de la consulta, con la info requerida
        Datagrid.DataSource = _
        (From usuario In Entradas _
        Select New UserInfo() With {.Nombre = usuario.Properties(«name»).Value, _
                                    .Descripcion = usuario.Properties(«description»).Value}).ToList
    End Sub
End Class 

 

Saber sobre los Usuarios registrados en nuestro LDAP

En determinadas situaciones resulta de gran utilidad poder saber mas acerca de nuestros usuarios preguntando al LDAP de nuestro dominio.


Espero que os sea de utilidad.

‘Saber de los Usuarios de nuestro LDAP 
Imports System.DirectoryServices ‘Espacio de nombres
 Public Class ServiciosDeDirectorio
    Private listBox1 As New ListBox() ‘Constructor del ListBox
    Private Sub Form_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        ‘Nuestros apuntes en el direccio
        Dim EntradasEnElDirectorio As New DirectoryEntry(«LDAP://miServidor»)
        ‘Nuestro buscador
        Dim BusquedaEnElDirectorio As New DirectorySearcher(EntradasEnElDirectorio)
        ‘Filtro de busqueda, en nuestro caso usuarios
        BusquedaEnElDirectorio.Filter = «(ObjectClass=user)»
        ‘Nuestra entrada de usuario en cuestion
        Dim EntradaEnDirectorio As DirectoryEntry
        ‘Incorporar el listbox a nuestro form
        Me.Controls.Add(listBox1)
        Me.listBox1.Dock = DockStyle.Fill ‘Ocupar toda el area del form
        ‘Para cada entrada en el directorio
        For Each Busqueda As SearchResult In BusquedaEnElDirectorio.FindAll()
            ‘Obtenerla
            EntradaEnDirectorio = Busqueda.GetDirectoryEntry
            ‘Añadir la informacion (en nuestro caso nombre/descripcion)
            Me.listBox1.Items.AddRange(New Object() { _
                EntradaEnDirectorio.Properties(«name»).Value, _
                Space(12) + «->» + _
                EntradaEnDirectorio.Properties(«description»).Value _
                })
        Next   
    End Sub
 
End Class