搜索全球目录

时间:2009-09-17 15:20:08

标签: .net adsi

如果我对全局目录进行查询(我计划使用SDS.P),那么起始路径应该是什么,以便我可以搜索整个GC?

我想枚举GC中的所有用户。 假设我的gc拥有3个域名(一个父母,两个孩子)的用户:

TEST.COM
   ONE.TEST.COM
   TWO.TEST.COM

我在ONE.TEST.COM的电脑上。我不想硬编码DC = XXX,DC = yyy,我想在运行时确定。

TIA! - 将会

1 个答案:

答案 0 :(得分:0)

以下是查询全局编录的示例函数:

class Program
    {

        static void Main()
        {

            DirectoryEntry entry = new DirectoryEntry("GC://dcserver.domain.local",
                                                       "utility",
                                                       "somepassword",
                                                       AuthenticationTypes.Secure );

            const string searchString = "(&(objectCategory=person)(objectClass=user))";

            DirectorySearcher searcher = new DirectorySearcher(entry, 
                                                               searchString, 
                                                               new string[] { "sAMAccountName", "cn" } );

            SearchResultCollection resultCollection = searcher.FindAll( );

            foreach ( SearchResult result in resultCollection )
            {
                Console.WriteLine( result.Path + "\n" + 
                                   result.Properties["cn"][0] + "\n" + 
                                   result.Properties["samaccountname"][0]  );
            }

            Console.ReadLine( );

        }
   }