ちょっとした背景: Microsoft DirSync ツールを使用して、開発用 AD の 1 つを Azure Active Directory セットアップに同期させようとしています。使用しようとしている AD アカウントには「Enterprise Admins」グループのメンバーシップがないとツールが主張するため、構成に失敗します。
根本的な原因を掘り下げると、チェックを実行するコードが次のようにセキュリティ グループにクエリを実行していることを特定できました。
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 がクエリに対してセキュリティ グループを返さない理由について、誰かが私にいくつかの指針を与えることができますか?
前もって感謝/マイケル