Domanda

Se eseguo una query (intendo utilizzare SDS.P) sul catalogo globale, quale dovrebbe essere il percorso iniziale in modo da poter effettuare ricerche nell'intero GC?

Voglio elencare tutti gli utenti in GC, per esempio. Diciamo che il mio gc ha utenti per 3 domini (un genitore, due figli):

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

e sono su un computer in ONE.TEST.COM. Non voglio hardcode DC = XXX, DC = yyy, vorrei determinarlo in fase di esecuzione.

TIA! -Will

È stato utile?

Soluzione

Ecco una funzione di esempio che interroga il catalogo globale:

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

        }
   }
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top