[Tips] Obtener información de usuarios de un grupo de Active Directory

Si trabajas con SharePoint, sabrás que puedes añadir a un grupo de seguridad de SharePoint un grupo de Active Directory, y al listar los usuarios del grupo de Miembros de un sitio, el modelo de objetos de SharePoint te devuelve ese grupo en forma de SPUser, pero no puedes obtener los usuarios que forman parte de ese grupo, y en mi caso lo necesito.

Dese luego que existen muchas maneras de hacer esto, pero para mí la más sencilla para lo que necesitaba es la que os muestro a continuación:

var domainName = IPGlobalProperties.GetIPGlobalProperties().DomainName;

 

using (var principalContext = new PrincipalContext(ContextType.Domain, domainName))

{

    using (var groupPrincipal = GroupPrincipal.FindByIdentity(principalContext, IdentityType.Name, domainGroup))

    {

        if (groupPrincipal != null)

        {

            var principalSearchResult = groupPrincipal.GetMembers(true);

 

            foreach (var p in principalSearchResult)

            {

            }

        }

    }

}

image

Para no estar accediendo siempre a por toda esta información, he montado una caché de grupos para no tener que volver a acceder al Active Directory.

Un saludo y buen finde.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *