0

一点背景知识:我正在尝试使用 Microsoft DirSync 工具将我们的一个开发 AD 同步到 Azure Active Directory 设置。配置失败,因为该工具声称我尝试使用的 AD 帐户缺少“企业管理员”组的成员身份。

深入研究根本原因,我已经能够确定执行检查的代码正在查询安全组,如下所示:

public static void Repro(string userName, string password)
{
    string name = ADValidation.GetUsersForest(userName, password).Name;
    string path = string.Format("LDAP://{0}/", name);
    string rootDse = string.Format("{0}rootDSE", path);
    Console.WriteLine("Path: {0}", path);
    Console.WriteLine("RootDse: {0}", rootDse);
    const AuthenticationTypes authenticationType = AuthenticationTypes.Signing | AuthenticationTypes.Secure;
    using (var entry = new DirectoryEntry(rootDse, userName, password, authenticationType))
    {
        entry.RefreshCache(new[] { "tokenGroups" });
        Console.WriteLine(entry.Properties["tokenGroups"].Count);
    }
}

在我们的公司 AD 上运行此块会按预期生成安全组列表:

Path: LDAP://SOMECORPDOMAIN.EXT/
RootDse: LDAP://SOMECORPDOMAIN.EXT/rootDSE
39

在开发 AD 上运行它时不会产生任何组:

Path: LDAP://SOMEDEVDOMAIN.EXT/
RootDse: LDAP://SOMEDEVDOMAIN.EXT/rootDSE
0

我对 AD 的了解非常有限 - 谁能给我一些指示,说明为什么开发 AD 不会为查询返回任何安全组?

提前致谢/迈克尔

4

1 回答 1

0

可能与AD用户权限有关。

于 2013-02-14T02:45:43.843 回答