none
Retonar SID do AD no Vb.Net RRS feed

  • Pergunta

  • Pessoal, boa tarde

    Estou desenvolvendo uma aplicação que quero listar todos os usuários do meu AD.

    Porém, estou com dificuldade para retornar as propriedades do AD. Eu cosegui retornar o usuário e o nome, porém preciso retornar também o Sid.

    Meu código é o seguinte:

        ''' <summary>
        ''' Método para retornar todos os usu rios do AD
        ''' </summary>
        ''' <returns>Retorna Nome,Usuario,Email</returns>
        Public Function ListarTodosUsuariosAD(Domain as String, User as String, Password as String) As DataTable
    
            ' Tabela para fazer o Databind
            Dim Table As New DataTable("Results")
    
            ' Colunas 
            With Table.Columns
                .Add("Nome")
                .Add("Usuario")
                .Add("Email")
                .Add("Sid")
            End With
    
            ' Linha para adicionar no DataTable
            Dim Row As DataRow
            ' Directory Entry definindo dominio, usuário e senha
            Dim oDirEntry As New DirectoryEntry(Domain, User, Password)
    
            ' Objeto que realiza a busca no AD
            Dim oDirSearcher As New DirectorySearcher()
    
            ' Define AD onde será pesquisado
            oDirSearcher.SearchRoot = oDirEntry
            ' Filtro da Pesquisa
            'oDirSearcher.Filter = "(&(objectClass=user)(objectCategory=person))"
            oDirSearcher.Filter = "name=" & TextBox1.Text & ""
    
            ' Propriedades que irá carregar
            With oDirSearcher.PropertiesToLoad
                .Add("name")
                .Add("sAMAccountName")
                .Add("mail")
                .Add("SID")
            End With
    
            ' Realiza ordenação por E-mail
            oDirSearcher.Sort.PropertyName = "mail"
    
            ' Para cada resultado encontrado no objeto
            For Each oResult As SearchResult In oDirSearcher.FindAll()
                ' Cria uma nova linha
                Row = Table.NewRow()
    
                ' Adiciona o valor a coluna Nome
                Row(0) = oResult.Properties("name")(0).ToString()
    
                ' Adiciona o valor a coluna Usuário
                Row(1) = oResult.Properties("sAMAccountName")(0).ToString()
    
                Row(3) = oResult.Properties("securityIdentifier")(0).ToString()
    
                ' Caso a propriedade esteja preenchida
                If oResult.Properties.Contains("mail") Then
    
                    ' Adiciona o valor a propriedade E-mail
                    Row(2) = oResult.Properties("mail")(0).ToString()
                End If
                ' Adiciona a linha na Tabela
                Table.Rows.Add(Row)
            Next
            Return Table
        End Function

    Alguem sabe uma lista de propriedades do AD para retornar, e como faço para retornar o SID

    Obrigado

    quinta-feira, 16 de maio de 2013 19:11

Todas as Respostas