Pergunta

Eu só quero saber se alguém sabe ou fez um invólucro em torno do Active Directory para poder consultá-lo facilmente em .net? Tipo como "LINQ para ActiveDirectory" ou algum SQL Dialect, ou seja, para ser capaz de fazer "SELECT DISTINCT (departamento) de / Users / SomeOU / AnotherOU" ou "user SELECT FROM domínio" ou o que quer.

Tanto quanto eu sei, é possível consulta WMI e IIS em uma "SQLesque" maneira, eu só quero saber se algo semelhante é possível para Active Directory, bem como, sem ter que aprender mais uma Query Language (LDAP)?

Foi útil?

Solução

LINQ para Active implementos Diretório um personalizado LINQ consulta provedor que permite consultando objetos no Active Directory. Internamente, as consultas são traduzidos em filtros LDAP que são enviados para o servidor usando o System.DirectoryServices .NET Framework biblioteca.

http://www.codeplex.com/LINQtoAD

Sample (do site):

// 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 em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top