Usuário com melhor resposta
Usuario e mail do LDAP - Uso VS2003

Pergunta
-
Private Sub email() Dim t As New DataTable("Usuarios") t.Columns.Add("NOME", GetType(String)) t.Columns.Add("E-MAIL", GetType(String)) Dim root As DirectoryEntry = New DirectoryEntry("LDAP://10.8.5.250") Dim busca As New DirectorySearcher(root) busca.Filter = "(sAMAccountName=jfelix)" Dim oResults As SearchResultCollection Dim resultado As SearchResult oResults = busca.FindAll For Each resultado In oResults resultado = busca.FindOne Dim dr As DataRow = t.NewRow() dr.Item("NOME") = resultado.Properties("name")(0) dr.Item("E-MAIL") = resultado.Properties("mail")(0) t.Rows.Add(dr) Next DataGrid1.DataSource = t End Sub
Olá pessoal
Estou precisando pegar os usuarios e email via ldap, fiz o codigo acima mas ele só traz um usuario especifico que eu colocar no campo de pesquisa ( busca.Filter = "(sAMAccountName=jfelix)"), gostaria de trazer todos da minha OU.
Julierme Felix - Aprendiz
Respostas
-
Olá,
Bom primeiramente se estiver usando algum framerwork que da suporte ao Linq, recomendo usar este cara, facilita muito : http://www.codeplex.com/LINQtoAD (veja os exemplos do uso na documentação, tem um que é oq precisa).
Senão puder usar o Linq, de uma olhada -> http://www.willasrari.com/blog/query-active-directory-users-using-c/000133.aspx
Abs,
Nelson Borges - http://nelsonborgesjr.spaces.live.com/blog/ "Ao infinito e além.. "- Marcado como Resposta Julierme Felix quarta-feira, 17 de março de 2010 12:39
-
Consegui resolver....
veja como ficou o códgio
Private Sub email() Dim t As New DataTable("Usuarios") t.Columns.Add("NOME", GetType(String)) t.Columns.Add("E-MAIL", GetType(String)) Dim root As DirectoryEntry = New DirectoryEntry("LDAP://OU=Rede Administrativa,OU=Usuários,OU=Colégio,OU=Colatina,OU=ES,DC=pmbcn,DC=intranet") Dim busca As New DirectorySearcher(root) Dim resultado As SearchResult busca.Filter = "(objectClass=user)" For Each resultado In busca.FindAll Dim dr As DataRow = t.NewRow() dr.Item("NOME") = resultado.Properties("Name")(0) dr.Item("E-MAIL") = resultado.Properties("mail")(0) t.Rows.Add(dr) Next DataGrid1.DataSource = t End Sub
Julierme Felix - Aprendiz- Marcado como Resposta AndreAlvesLimaModerator quarta-feira, 17 de março de 2010 16:16
Todas as Respostas
-
Olá,
Bom primeiramente se estiver usando algum framerwork que da suporte ao Linq, recomendo usar este cara, facilita muito : http://www.codeplex.com/LINQtoAD (veja os exemplos do uso na documentação, tem um que é oq precisa).
Senão puder usar o Linq, de uma olhada -> http://www.willasrari.com/blog/query-active-directory-users-using-c/000133.aspx
Abs,
Nelson Borges - http://nelsonborgesjr.spaces.live.com/blog/ "Ao infinito e além.. "- Marcado como Resposta Julierme Felix quarta-feira, 17 de março de 2010 12:39
-
Julierme,
Alguma novidade quanto a essa sua dúvida?
André Alves de Lima
Visite o meu site: http://andrealveslima.spaces.live.com
Me siga no Twitter: @andrealveslima -
Consegui resolver....
veja como ficou o códgio
Private Sub email() Dim t As New DataTable("Usuarios") t.Columns.Add("NOME", GetType(String)) t.Columns.Add("E-MAIL", GetType(String)) Dim root As DirectoryEntry = New DirectoryEntry("LDAP://OU=Rede Administrativa,OU=Usuários,OU=Colégio,OU=Colatina,OU=ES,DC=pmbcn,DC=intranet") Dim busca As New DirectorySearcher(root) Dim resultado As SearchResult busca.Filter = "(objectClass=user)" For Each resultado In busca.FindAll Dim dr As DataRow = t.NewRow() dr.Item("NOME") = resultado.Properties("Name")(0) dr.Item("E-MAIL") = resultado.Properties("mail")(0) t.Rows.Add(dr) Next DataGrid1.DataSource = t End Sub
Julierme Felix - Aprendiz- Marcado como Resposta AndreAlvesLimaModerator quarta-feira, 17 de março de 2010 16:16