尝试从 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 始终为空!为什么?
十年后,同样的问题。有趣的是,我在两个项目中测试了它,代码完全相同。
在一个项目中它有效,但在另一个项目中则无效。
为什么?
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;
}