首页 > 解决方案 > 如何获取 AD 组并向其添加用户?

问题描述

我已经很久没有这样做了,我只是想获取该组CoreControls并添加一个用户或另一个组。我该怎么写FindByIdentity?它总是返回 null。域是crp.name.local

在此处输入图像描述

using (PrincipalContext pc = new PrincipalContext(
    ContextType.Domain,
    "crp",
    username,
    password))
{
    // group is null and I've tried many examples...
    var group = GroupPrincipal.FindByIdentity(pc, "ou=CoreControls");
    group.Members.Add(pc, IdentityType.UserPrincipalName, userId);
    group.Save();
}

标签: active-directoryldap

解决方案


我认为问题CoreControls实际上不是一个组,而是一个 OU。所以你不能GroupPrincipal在这里使用。试试这个PrincipalContext重载:

using (PrincipalContext pc = new PrincipalContext(
    ContextType.Domain,
    "crp",
    "OU=CoreControls,OU=Security,OU=Global Groups,DC=crp,DC=local"
    username,
    password))

您将不得不摆弄container参数以使其正确。


推荐阅读