2

我有一个方法AddUserToGroup将用户添加到活动目录组。

我在未连接到包含用户和组的域控制器的机器上调用该方法。

调用 group.Save() 时会引发 PrincipalOperationException:

"无法检索有关域的信息 (1355)。 "

AD 是否会阻止未在域中注册的客户端进行修改?我可以从同一个客户端愉快地查询域(例如,返回组中的用户)。

将用户添加到组的方法:

public static void AddUserToGroup(string userId, 
                                  string groupName)
{
    try
    {
        using (var pc = GetPrincipalContextFromConfig())
        {
            var group = GroupPrincipal.FindByIdentity(pc, groupName);
            try
            {
                group.Members.Add(pc, IdentityType.Guid, userId);
                group.Save();
            }
            catch (PrincipalExistsException e)
            {
              //...
            }                                                                
        }
    }
    catch (DirectoryServicesCOMException e)
    {                
        //...
    }
}
4

1 回答 1

2

无论您的应用程序在何种 ID 下运行,都需要对 AD 具有“写入”权限。几乎任何 ID 都可以查询 AD,但只有明确授予权限的 ID 才能写入它。

于 2010-02-01T13:10:03.390 回答