Pergunta
Se eu fizer uma consulta (eu pretendo usar SDS.P) contra o catálogo global, o que deve o caminho começando ser que eu possa pesquisar todo o GC?
Eu quero enumerar todos os usuários em GC, por exemplo. Vamos dizer que o meu gc tem usuários para 3 domínios (um dos pais, duas crianças):
TEST.COM
ONE.TEST.COM
TWO.TEST.COM
e eu estou em um computador em ONE.TEST.COM. Eu não quero para codificar DC = XXX, DC = yyy, gostaria de determinar que em tempo de execução.
TIA! -Vai
Solução
Aqui está um exemplo de função que consulta o 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 em: CC-BY-SA com atribuição
Não afiliado a StackOverflow