Pregunta

Me pregunto si alguien conoce o ha creado un contenedor para Active Directory para poder consultarlo fácilmente en .net.Algo así como "LINQ-to-ActiveDirectory" o algún dialecto SQL, es decir.para poder hacer "SELECCIONAR DISTINTO (DEPARTAMENTO) DE /Usuarios/AlgunaOU/Otra OU" o "SELECCIONAR usuario DEL dominio" o lo que sea.

Hasta donde yo sé, es posible consultar WMI e IIS de forma "SQLesque", solo me pregunto si algo similar también es posible para Active Directory, sin tener que aprender otro lenguaje de consulta (LDAP).

¿Fue útil?

Solución

LINQ a Active Directory implementa un proveedor de consultas LINQ personalizado que permite consultar objetos en Active Directory.Internamente, las consultas se traducen en filtros LDAP que se envían al servidor utilizando el sistema. DirectoryServices .NET Framework Biblioteca.

http://www.codeplex.com/LINQtoAD

Muestra (del sitio):

// NOTE: Entity type definition "User" omitted in sample - see samples in release.

var users = new DirectorySource<User>(ROOT, SearchScope.Subtree);
users.Log = Console.Out;

var res = from usr in users
          where usr.FirstName.StartsWith("B") && usr.Office == "2525"
          select new { Name = usr.FirstName + " " + usr.LastName, usr.Office, usr.LogonCount };

foreach (var u in res)
{
    Console.WriteLine(u);
    u.Office = "5252";
    u.SetPassword(pwd);
}

users.Update();
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top