C# で LDAP クエリを作成するための厳密に型指定された言語を知っている人はいますか? から離れたい
(&(|(objectClass=user)(objectClass=group)(objectClass=computer)(objectClass=contact))((objectGUID={0})))
できれば、論理クエリを構築するための流動的な API を用意してください。
C# で LDAP クエリを作成するための厳密に型指定された言語を知っている人はいますか? から離れたい
(&(|(objectClass=user)(objectClass=group)(objectClass=computer)(objectClass=contact))((objectGUID={0})))
できれば、論理クエリを構築するための流動的な API を用意してください。
Linq to LDAP を試すことができます
ここにチュートリアルがあります
.NET 3.5 以降を使用している場合は、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 を使用すると、AD でユーザーやグループを簡単に操作できます。DirectoryEntry
以前のアプローチよりもはるかに簡単です...