MSMVPS.COM
The Ultimate Destination for Blogs by Current and Former Microsoft Most Valuable Professionals.

HowTo: LDAP, obtener propiedades de la clase user

Blogs

El blog de Lluis Franco

Syndication

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!

** crossposting desde el blog de Lluís Franco en geeks.ms **

Posted Wed, Jul 16 2008 17:23 by lfranco
Filed under: , , , , ,

Add a Comment

(optional)  
(optional)
(required)  
Remember Me?