我有一个 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)
{
//...
}
}
答案 0 :(得分:2)
无论您的应用程序运行的是什么ID,都需要对AD进行“写入”访问。几乎任何ID都可以查询AD,但只有明确授予ID的ID才能写入。