HowTo: LDAP, obtener propiedades de la clase user

Hace poco publicaba una actualización del método getUserLDAProperties de la clase LDAPservices. Esta función se encarga de recuperar todas las propiedades de la clase 'user' definidas  en el esquema del AD de la organización.

LDAPUserProperties

La verdad es que dicha corrección no me terminaba de satisfacer. Así que después de bucear un poco por el modelo de objetos del namespace System.DirectoryServices.ActiveDirectory he encontrado un método más elegante, y que además permite acceder a más propiedades opcionales (algo que la anterior versión no permitía).

Os dejo aquí el código y en cuando tenga un minuto actualizo el código fuente de LDAPServices en skydrive.

public static List<string> 
    getUserLDAPProperties(string LDAPURL)
{
    List<string> properties =new List<string>();
    ActiveDirectorySchema objADSchema = ActiveDirectorySchema.GetCurrentSchema();
    ActiveDirectorySchemaClass objADUserSchema;
    ActiveDirectorySchemaPropertyCollection objADPropertiesCollection;
    objADUserSchema = objADSchema.FindClass("user");
    objADPropertiesCollection = objADUserSchema.MandatoryProperties;
    foreach (ActiveDirectorySchemaProperty objADSchemaProperty in objADPropertiesCollection)
    {
        properties.Add(objADSchemaProperty.Name);
    }
    objADPropertiesCollection = objADUserSchema.OptionalProperties;
    foreach (ActiveDirectorySchemaProperty objADSchemaProperty in objADPropertiesCollection)
    {
        properties.Add(objADSchemaProperty.Name);
    }
    return (from p in properties orderby p select p).ToList();
}

Nos vemos!

Published 16/7/2008 17:23 por Lluis Franco
Comparte este post:

Comentarios

# re: HowTo: LDAP, obtener propiedades de la clase user

Friday, July 18, 2008 5:02 PM por Jersson

Hola,

quizá esta direccion sirva como informacion complementaria.

www.codeproject.com/.../everythingInAD.aspx

Saludos

# re: HowTo: LDAP, obtener propiedades de la clase user

Friday, July 18, 2008 5:25 PM por Lluis Franco

:-)

Hola Jersson,

Gracias por la información.

Muy útil!

Saludos,