Domanda

Mi chiedo solo se qualcuno sa o fatto un wrapper di Active Directory per essere in grado di eseguire una query in .net?Un po ' come "LINQ-to-ActiveDirectory" o qualche Dialetto SQL, cioèper essere in grado di fare "SELECT DISTINCT(DIPARTIMENTO) DA /Users/SomeOU/AnotherOU" o "SELEZIONARE l'utente DA un dominio" o qualsiasi altra cosa.

Per quanto ne so, è possibile eseguire una query WMI e IIS in un "SQLesque" modo, mi chiedo solo se qualcosa di simile è possibile per Active Directory, senza dover imparare ancora un altro Linguaggio di Query LDAP ()?

È stato utile?

Soluzione

LINQ to Active Directory implementa un custom query LINQ provider che permette interrogare gli oggetti in Active Directory.Internamente, le query vengono tradotti in LDAP filtri che vengono inviati a il server utilizzando il Sistema.DirectoryServices .NET Quadro biblioteca.

http://www.codeplex.com/LINQtoAD

Campione (dal sito):

// 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();
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top