Pregunta

Si hago una consulta (planeo usar SDS.P) en el catálogo global, ¿cuál debería ser la ruta de inicio para poder buscar en todo el GC?

Quiero enumerar todos los usuarios en GC, por ejemplo. Digamos que mi gc tiene usuarios para 3 dominios (uno primario, dos secundarios):

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

y estoy en una computadora en ONE.TEST.COM. No quiero codificar DC = XXX, DC = aaa, me gustaría determinarlo en tiempo de ejecución.

TIA! -Will

¿Fue útil?

Solución

Aquí hay una función de ejemplo que consulta el catálogo global:

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( );

        }
   }
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top