【发布时间】:2020-07-21 16:39:56
【问题描述】:
是否可以将多个实体/个人列为 AD 组的经理?
我有一个使用 Exchange 创建的通讯组。从 Exchange 端查看时,该组有多个 ManagedBy 实体。
当我使用DirectorySearcher 查询时,AD 只显示ManagedBy 的一个条目,即第一个条目。
我可以使用已知用户的字符串值更新ManagedBy,但使用类似下面的方法似乎不起作用。
代码sn-p A:
using (var context = new PrincipalContext(ContextType.Domain, _connection.Domain, _connection.ServiceUserName, _connection.ServicePassword))
{
using (var searcher = new PrincipalSearcher())
{
var sp = new GroupSearchPrincipal(context, groupDn);
searcher.QueryFilter = sp;
var groupSearch = searcher.FindOne();
if (groupSearch is null)
{
throw new Exception($"The Group with SamAccountName {groupDn} could not be found");
}
var directoryEntry = (DirectoryEntry)groupSearch.GetUnderlyingObject();
directoryEntry.Properties["managedBy"].Add(managerDn);
directoryEntry.CommitChanges();
directoryEntry.Close();
}
return SuccessResponse();
}
提交更改会产生此屏幕截图中显示的结果:
错误可能意味着我正在添加一个已经存在的值,其中包含来自“managerDn”的新值。清除值似乎证实了这一点。
directoryEntry.Properties["managedBy"].Clear();
多个 managedBy 条目是 Exchange 独有的吗?
【问题讨论】:
-
如果你查看
managedByattribute's declaration - 它指定Is-Single-Valued = True- 所以我猜在“基本”广告中,它只包含一个值
标签: c# active-directory exchange-server directorysearcher