GroupPrincipal 不起作用(始终为空)

问题描述 投票:0回答:1

尝试从 AD 获取用户列表。 这是代码

PrincipalContext ctx = new PrincipalContext(ContextType.Domain,
                                       "c.magmfc.ru",
                                        DomainLogin,
                                        DomainPassword);


        GroupPrincipal grp = GroupPrincipal.FindByIdentity(ctx,
                                               // IdentityType.Name,
                                                "Domain Users");

        if (grp!=null)
        {

           //lalalala
        }

grp 始终为空!为什么?

c# .net active-directory
1个回答
0
投票

十年后,同样的问题。有趣的是,我在两个项目中测试了它,代码完全相同。

在一个项目中它有效,但在另一个项目中则无效。

为什么?

private bool add_user_to_group(string Domain, string BaseDN, string Anmeldename, string AdminUser, string AdminPassword, string[] Groups)
    {
        try
        {
            using (PrincipalContext pc = create_admin_login(Domain, BaseDN, AdminUser, AdminPassword))
            {
                foreach (string t_group in Groups)
                {
                    using (GroupPrincipal gp = GroupPrincipal.FindByIdentity(pc,IdentityType.Name,t_group))
                    {
                        if(gp != null)
                        {
                            gp.Members.Add(pc, IdentityType.SamAccountName, Anmeldename);
                            gp.Save();
                        }else{ 
                            MessageBox.Show("Gruppe nicht gefunden, bitte manuell prüfen!",t_group); 
                        }
                    }
                }

            }
            return true;
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }
        return false;
    }
© www.soinside.com 2019 - 2024. All rights reserved.