繁体   English   中英

如何从Active Directory查找当前用户组

[英]How to find current user group from Active Directory

如何从Active Directory服务器中查找当前用户组

请参阅屏幕快照网址。 http://i.stack.imgur.com/v1dww.png

对于用户名“ palani”,组为Administrators

如何从Active Directory服务器获取

如果您使用的是.NET 3.5及更高版本,则应签出System.DirectoryServices.AccountManagement (S.DS.AM)命名空间。 在这里阅读所有内容:

基本上,您可以定义域上下文并轻松找到AD中的用户和/或组:

// set up domain context
using (PrincipalContext ctx = new PrincipalContext(ContextType.Domain))
{
    // find currently logged in user
    UserPrincipal user = UserPrincipal.FindByIdentity(ctx, "palani");

    if(user != null)
    {
         foreach(GroupPrincipal group in user.GetAuthorizationGroups().OfType<GroupPrincipal>())
         {
            Console.WriteLine("Group name: {0}", group.Name);
         }
    }
}

用户可以是任意数量的组的成员-没有给定用户的组 -仅存在他/她所属的组的列表。

新的S.DS.AM使得与AD中的用户和组玩起来非常容易!

您可以尝试以下方法:

PrincipalContext ctx = new PrincipalContext(ContextType.Domain, "domain.com",
                                  "CN=palani,OU=Department,DC=domain,DC=com",
                                                             "administrator",
                                                                 "password");
        UserPrincipal usr = UserPrincipal.FindByIdentity(ctx,"palani");
        if(usr!=null){
            Console.WriteLine(Convert.ToString(usr.SamAccountName));
            PrincipalSearchResult<Principal> group = usr.GetGroups();
            foreach(Principal pr in group)
                Console.WriteLine(pr.Name);
        }
        Console.Read();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM