【问题标题】:More than one ManagedBy entity on an Active Directory groupActive Directory 组中有多个 ManagedBy 实体
【发布时间】: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 独有的吗?

【问题讨论】:

标签: c# active-directory exchange-server directorysearcher


【解决方案1】:

如果组是使用 Exchange 创建的,它可能包含属性

msExchCoManagedByLink

这标识了我正在寻找的其他 ManagedBy 实体。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多