2011-10-19 13 views
1

C#でLDAPクエリを構築するための強力な型付け言語を知っている人はいますか?LDAPクエリを構築するためのC#クエリ言語

(&(|(objectClass=user)(objectClass=group)(objectClass=computer)(objectClass=contact))((objectGUID={0}))) 

から移動したいと考えており、論理クエリを作成するための流体apiを持つことが望ましいです。

答えて

3

さてあなたはここにあなたがtutorial

+0

これは早く見つけられませんでした。 – hoetz

+0

@Malkier Google私の友人、彼は私たちの大物です – Frederiek

+0

一見すると、それには1つの制限があります。ユーザーまたはグループまたはコンピュータを検索することは不可能だと思われますが、これをハックすることができるかどうかを見てみましょう... – hoetz

0

http://linqtoad.codeplex.com/を持っているあなたは、.NET 3.5とアップにしている場合、あなたはまた、チェックアウトすることができ

+3

このリンクは質問に答えるかもしれませんが、ここでは答えの重要な部分を含めて参考にしてください。リンクされたページが変更された場合、リンクのみの回答は無効になります。 – Bucket

+0

@DesertIvy通常、私はあなたに同意するだろうが、これはいくつかの記事へのランダムなリンクではなく、コードプレックス上のプロジェクトのホームページである。 – Matt

0

良いものですLDAP

へのLINQを試すことができますSystem.DirectoryServices.AccountManagement(S.DS.AM)名前空間。

はここにそれについてのすべてを読む:

を基本的に、あなたはドメインコンテキストを定義することができ、簡単にADのユーザーおよび/またはグループを検索:

// set up domain context 
PrincipalContext ctx = new PrincipalContext(ContextType.Domain); 

// find a user 
UserPrincipal user = UserPrincipal.FindByIdentity(ctx, "SomeUserName"); 

if(user != null) 
{ 
    // do something here....  
} 

// find the group in question 
GroupPrincipal group = GroupPrincipal.FindByIdentity(ctx, "YourGroupNameHere"); 

// if found.... 
if (group != null) 
{ 
    // iterate over members 
    foreach (Principal p in group.GetMembers()) 
    { 
     Console.WriteLine("{0}: {1}", p.StructuralObjectClass, p.DisplayName); 
     // do whatever you need to do to those members 
    } 
} 

新しいS.DS.AMを使用すると、wi ADのユーザーとグループ! DirectoryEntryのアプローチよりもはるかに簡単です...