‘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