Usuário com melhor resposta
Active Directory Consulta organização

Pergunta
-
Pessoal,
Existe uma consulta no DirectoruSearcher para ver se existe determinada informação.
DirectorySearcher search = new DirectorySearcher("LDAP://" + Local, "DC=local"); search.Filter = "(CN=Negociação Estratégica e Gestão de Conflitos (G))" //OU search.Filter = "(OU=Alunos Negociação Estratégica e Gestão de Conflitos)" SearchResult result = search.FindOne();
Ele me retorna valores perfeitamente.
Porém quando passo dessa outra forma:
DirectorySearcher search = new DirectorySearcher("LDAP://" + Local, "DC=local"); search.Filter = "(CN=Negociação Estratégica e Gestão de Conflitos (G),OU=Alunos Negociação Estratégica e Gestão de Conflitos,OU=Alunos)" SearchResult result = search.FindOne();
Não me retorna nenhum valor, mas se for analisar individualmente os cassos separados como primeiro exemplo, existem sim no AD.
Uso esse cara para verificar se existe ou não no AD, porém efetuei o teste na raça conforme exemplos acima mas sem sucesso:
return DirectoryEntry.Exists(path);
Alguam ideia do que fazer ou se existe alguma coisa errada?Atenciosamente, Samuel dos Anjos
Respostas
-
Pessoal,
Problema resolvido. A área de redes havia mudado os nomes das organizações pela central do AD e não avisaram ninguém e quando tentava passar:
LDAP://CN=Negociação Estratégica e Gestão de Conflitos (G),OU=Negociação Estratégica e Gestão de Conflitos,OU=Alunos,DC=Teste,DC=local
Não existia, sendo que o corrego seguindo a hierarquia seria:
LDAP://CN=Negociação Estratégica e Gestão de Conflitos (G),OU=Alunos Negociação Estratégica e Gestão de Conflitos,OU=Alunos,DC=Teste,DC=local
Obrigado a todos.
Atenciosamente, Samuel dos Anjos
- Marcado como Resposta Samuel Rodrigues dos Anjos sexta-feira, 11 de janeiro de 2013 18:21
Todas as Respostas
-
Segue um código mais limpo com dois exemplos:
//Não Funciona DirectoryEntry recurso = new DirectoryEntry("LDAP://Teste.local/DC=Teste,DC=local"); DirectorySearcher busca = new DirectorySearcher(recurso, "(CN=Negociação Estratégica e Gestão de Conflitos (G),OU=Alunos Negociação Estratégica e Gestão de Conflitos,OU=Alunos)"); SearchResult resultado = busca.FindOne(); //Funciona DirectoryEntry recurso = new DirectoryEntry("LDAP://Teste.local/DC=Teste,DC=local"); DirectorySearcher busca = new DirectorySearcher(recurso, "(CN=Negociação Estratégica e Gestão de Conflitos (G))"); SearchResult resultado = busca.FindOne(); //Não Funciona //bool bol = DirectoryEntry.Exists("LDAP://CN=Negociação Estratégica e Gestão de Conflitos (G),OU=Negociação Estratégica e Gestão de Conflitos,OU=Alunos,DC=Teste,DC=local"); //Funciona bool bol = DirectoryEntry.Exists(LDAP://CN=Negociação Estratégica e Gestão de Conflitos (G),OU=Alunos Negociação Estratégica e Gestão de Conflitos,OU=Alunos,DC=Teste,DC=local);
O que pode ser os que não funcionam galera?
- Editado Samuel Rodrigues dos Anjos quinta-feira, 10 de janeiro de 2013 22:03
-
Segue um código mais limpo com dois exemplos:
//Não Funciona DirectoryEntry recurso = new DirectoryEntry("LDAP://Teste.local/DC=Teste,DC=local"); DirectorySearcher busca = new DirectorySearcher(recurso, "(CN=Negociação Estratégica e Gestão de Conflitos (G),OU=Alunos Negociação Estratégica e Gestão de Conflitos,OU=Alunos)"); SearchResult resultado = busca.FindOne(); //Funciona DirectoryEntry recurso = new DirectoryEntry("LDAP://Teste.local/DC=Teste,DC=local"); DirectorySearcher busca = new DirectorySearcher(recurso, "(CN=Negociação Estratégica e Gestão de Conflitos (G))"); SearchResult resultado = busca.FindOne(); //Não Funciona //bool bol = DirectoryEntry.Exists("LDAP://CN=Negociação Estratégica e Gestão de Conflitos (G),OU=Negociação Estratégica e Gestão de Conflitos,OU=Alunos,DC=Teste,DC=local"); //Funciona bool bol = DirectoryEntry.Exists(LDAP://CN=Negociação Estratégica e Gestão de Conflitos (G),OU=Alunos Negociação Estratégica e Gestão de Conflitos,OU=Alunos,DC=Teste,DC=local);
O que pode ser os que não funcionam galera?
DC é o dominio
CD serve pra usuário, grupo e computador
OU é a unidade organizacional que é criado no AD
Pode ser que não exista aquela unidade organizacional naquele AD ou retornou mais de 1 linha pois você chamou com o FindONe
Leonardo Lourenço Silva
- Sugerido como Resposta Leonardo Lourenço Silva sexta-feira, 11 de janeiro de 2013 00:33
-
Cara,
Não funciona mesmo, se eu tertas individualmente as unidades organizacionais ou com uma outra string diferente que possuo em varios casos a consulta no AD me retorna valor. Exemplo:
bool bol = DirectoryEntry.Exists("LDAP://CN=Negociação Estratégica e Gestão de Conflitos (G),DC=insper,DC=local"); //OU outra string bool bol = DirectoryEntry.Exists("LDAP://CN=Negociação Estratégica e Gestão de Conflitos (G),OU=Alunos Negociação Estratégica e Gestão de Conflitos,OU=Alunos,DC=insper,DC=local");
Somente esse caso que o AD não está trazendo nada:
bool bol = DirectoryEntry.Exists("LDAP://CN=Negociação Estratégica e Gestão de Conflitos (G),OU=Negociação Estratégica e Gestão de Conflitos,OU=Alunos,DC=insper,DC=local");
Mas existem essas unidades organizacionais sim no AD.
Atenciosamente, Samuel dos Anjos
-
-
Pessoal,
Problema resolvido. A área de redes havia mudado os nomes das organizações pela central do AD e não avisaram ninguém e quando tentava passar:
LDAP://CN=Negociação Estratégica e Gestão de Conflitos (G),OU=Negociação Estratégica e Gestão de Conflitos,OU=Alunos,DC=Teste,DC=local
Não existia, sendo que o corrego seguindo a hierarquia seria:
LDAP://CN=Negociação Estratégica e Gestão de Conflitos (G),OU=Alunos Negociação Estratégica e Gestão de Conflitos,OU=Alunos,DC=Teste,DC=local
Obrigado a todos.
Atenciosamente, Samuel dos Anjos
- Marcado como Resposta Samuel Rodrigues dos Anjos sexta-feira, 11 de janeiro de 2013 18:21