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
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