首页 > 解决方案 > 如何在 C# 中创建属于 Domain Admins 组的 AD 用户

问题描述

我正在开发一个 C# 项目,该项目会自动创建新的 Active Directory 用户并让他们访问 AD 服务器。

我使用以下代码创建了一个普通用户,但由于该用户不属于域管理员,因此无法访问服务器。

Domain domain = Domain.GetCurrentDomain();
PrincipalContext context = new PrincipalContext(ContextType.Domain);

UserPrincipal principal = new UserPrincipal(context);
principal.Name = name;
principal.UserPrincipalName = name + "@" + domain.Name;
principal.SamAccountName = name;
principal.Enabled = true;
principal.SetPassword(password);
principal.PasswordNeverExpires = true;
principal.Save();

有没有办法在代码中包含新用户属于哪个组?或者在创建帐户后,将用户添加到 Domain Admins 组可能是另一种解决方案,但我也不知道如何做到这一点。任何意见,将不胜感激。

标签: c#active-directory

解决方案


您只需要找到组并添加您创建的用户。像这样:

var group = GroupPrincipal.FindByIdentity(context, "Domain Admins");
group.Members.Add(principal);
group.Save();

代码必须使用可以将某人添加到Domain Admins组的凭据运行,这可能是域管理员帐户本身。


推荐阅读