0

私のアプリケーションでは、Active Directory からユーザーのメールを取得する必要があります。

System.DirectoryServicesActive Directory にアクセスするための名前空間に出会いました。私はそれがどのように機能するかわかりません。いくつか質問があります。

この名前空間を使用して、適切なクエリで AD にアクセスできますか? LDAPなどへのアクセスなどの前提条件はありますか?

これが実際にどのように機能するか教えてください

参考までに.net 4.0を使用しています

4

1 に答える 1

1

.NET 3.5 以降を使用している場合は、System.DirectoryServices.AccountManagement(S.DS.AM) 名前空間を確認してください。ここでそれについてすべて読んでください:

基本的に、ドメイン コンテキストを定義し、AD でユーザーやグループを簡単に見つけることができます。

// set up domain context
using (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 でユーザーやグループを簡単に操作できます。

于 2013-05-15T10:26:20.953 に答える