Inicial > Active Directory, Dicas, Windows Server > Exportando as informações do Active Directory com o CSVDE

Exportando as informações do Active Directory com o CSVDE

Dependendo do quanto você utiliza o Active Directory ele pode conter algumas informações muito valiosas sobre sua empresa e seus funcionários. Não só o diretório e as credenciais básicas de cada um de seus usuários, mas se totalmente preenchida, ele irá armazenar informações dos usuários de contato, incluindo endereços de email e números de telefone, o seu departamento e até mesmo o local do escritório. Esta informação pode ser muito útil a partir de um ponto de vista administrativo. Muitas vezes, os projetos irão precisar de uma lista de todos os usuários dentro de um grupo ou departamento específico, compilar essas informações manualmente pode ser um processo demorado, e que pode rapidamente se tornar obsoleto. Não seria ótimo se pudéssemos extrair as informações armazenadas no Active Directory para uso em planilhas e listas de verificação? Na verdade podemos e não é complicado.

CSVDE, o que é?

CSVDE significa Comma Separated Value Data Exchange. CSVDE é uma ferramenta de linha de comando pequena que está inclusa no Windows 2003 e superiores, geralmente encontrado no diretório %windir%/system32. O aplicativo também pode ser instalado em um estações de trabalho do Windows XP como parte do Active Directory Application Mode (ADAM).

O valor separado por vírgula formato de arquivo (CSV) é relativamente simples. Normalmente apresentados em formato de texto simples, o arquivo CSV contém dados que foram separados em colunas com uma vírgula padrão “,” separando cada um. Cada linha de dados é apresentado em uma nova linha. O CSV é um formato muitas vezes utilizado para extrair dados brutos como a maioria dos aplicativos desenvolvidos para importar e manipular dados (como Microsoft Excel ou OpenOffice Calc) irá aceitá-lo sem modificação e ordenadamente organizar em linhas e colunas.

O CSVDE tem duas funções principais: importação de dados de um arquivo CSV formatado para o Active Directory e exportar dados do Active Directory em um arquivo CSV formatado. Embora eu tenha visto muitas pessoas discutindo funções CSVDE de importação, eu não aconselho isto a menos que você seja 100% familiarizado.

Exportando dados do diretório

Como estamos utilizando apenas as funções CSVDE de exportação, não há nenhuma chance de danificar o diretório ou acidentalmente corromper seus dados.

Exportação básico

A exportação de base vai exportar todos os registros do Active Directory em um arquivo CSV, sem qualquer filtragem de resultados. Por padrão o CSVDE irá se conectar ao AD usando as credenciais do usuário conectado no momento, para especificar credenciais diferentes utilize a opção -a (-a UserDN [senha | *]).

Para exportar todos os dados do Active Directory em um arquivo chamado AD.csv:

csvde -f AD.csv

Após a exportação concluída uma mensagem irá lhe informar quantas entradas foram exportadas. Essas ‘entradas’ traduzem-se em linhas de dados, e provavelmente você vai notar que há mais entradas do que usuários. Isto porque, sem qualquer filtragem o CSVDE simplesmente exporta todo o conteúdo de seu AD em um arquivo CSV, que inclui grupos, contas do sistema, e outros valores ocultos que podem ou não ser úteis para você. Se você abrir o arquivo AD.csv com o notepad, você será capaz de dar uma rápida olhada nos dados e tudo ficará claro.

Filtrando resultados

Há três formas de filtrar as informações do CSVDE. A primeira maneira de excluir resultados indesejáveis é filtrar para baixo a uma parte específica do diretório usando a opção -d. Usando isso, podemos concentrar a exportação de uma UO específica dentro da estrutura de diretórios:

csvde -d “OU=Usuários,DC=contoso,dc=local” -f AD.csv

Se você organizar seus usuários em uma OU específica, então isso pode reduzir rapidamente o número de registros indesejados exportados para o arquivo CSV.

Para reduzir ainda mais o número de registros indesejados exportados, podemos usar a opção -r. A opção -r é usada para filtrar linhas de dados com base nas propriedades específicas desse registro. Neste exemplo eu quero encontrar usuários e computadores apenas:

csvde -f AD.scv -r objectClass=user

Ou para usar vários filtros:

csvde-f AD.csv -r “(&(objectClass=user)(objectCategory=person)”

Isso irá retornar os usuários sem computadores.

Se você não tem certeza sobre os nomes e / ou valores de campos de propriedades específicas, eu recomendo usar adsiedit.msc para procurar o diretório.

Como seria de esperar, ambos os filtros podem ser combinados. Vamos dizer que eu quero exportar um as informações de usuários dentro da OU chamada  Diretores:

csvde -d “OU=Diretores,DC=contoso,DC=local” -f AD.csv-r “(&(objectClass=user)(objectCategory=person)”

Agora você já deve ter percebido que, mesmo se você filtrar apenas às linhas de dados que você quer especificamente, nós ainda acabamos com um monte de informações indesejadas. Vamos dar uma olhada em como podemos resolver isso.

Da mesma maneira que a opção -r filtra linhas de informações indesejadas, pode-se utilizar a opção -l para filtrar colunas de dados indesejados. Digamos que eu quero os mesmos resultados retornados como na consulta anterior, mas eu só quero os dados nome, sobrenome e endereço de e-mail padrão do usuário para ser exportado:

csvde -d “OU=Diretores,DC=contoso,dc=local” -f AD.csv-r “(&(objectClass=user)(objectCategory=Person)” -l “givenName, sn, mail”

Se você não tem certeza do nome da propriedade específica da informação desejada, de uma olhada na estrutura de diretório com o adsiedit.msc, e tenha cuidado para não alterar nada acidentalmente.

Conclusão

CSVDE é uma daquelas pequenas aplicações quem vem no windows e que você nem sabe que existe até que você precise usá-la. Uma vez que você se familiarizar com ela, você vai descobrir que é uma maneira muito rápida e fácil de extrair informações sobre usuários específicos ou grupos de usuários para serem usados com outros aplicativos ou bancos de dados. Descobri o CSVDE quando precisei criar os mesmos usuários de um Windows SBS em um outro domínio pois não podia integrar o AD devido as restrições do Windows.

Se você tem outro uso para essa ferramenta compartilhe conosco deixando um comentário.

Esse post foi útil? Deixe um comentário.

Publicidade
  1. Pavelski
    20 de abril de 2012 às 20:55

    Ótimo artigo.
    Uma ótima ferramenta por praticidade. Exemplo:
    Você entra em uma nova empresa com 200 usuários e precisa arrumar uma besteira do ultimo administrador que setou permissões erradas.
    Você pode extrair informações do AD com o csvde e crir um script simples para setar as permissões em massa para os grupos e usuários específicos com as informações exportardas com o csvd.
    Como dito no artigo, quando você percisa você da o devido valor à ferramentas como esta.

    Mais uma vez, parabéns!

    • 20 de abril de 2012 às 20:59

      Obrigado Pavelski,
      Espero que sejaa ferramenta seja muito útil para você como foi pra mim.

  2. Bruno Castilho Regio
    27 de junho de 2012 às 15:43

    Boa tarde Igor,

    Gostaria de saber se essa ferramenta faria a seguinte listagem. Preciso exportar todos os grupos e seus respectivos membros. Entrei em uma empresa e como o Pavelski falou estou tendo que corrigir erros passados, porem preciso disso para dar o primeiro passo junto à meus supervisores.

    Obrigado pela atenção.

    • 30 de junho de 2012 às 17:43

      Olá Bruno,
      Realmente não sei se você é possível com essa ferramenta, creio que há uma forma sim, vou fazer alguns testes e quando obtiver algum resultado lhe informo.

  3. Marco Aurelio
    3 de abril de 2013 às 16:02

    Achei muito interessante, estou precisando apenas exportar uma lista com todos os grupos com a informação o nome do grupo e os campos “descrição” desse grupo e as “observações” que estiverem nele

  4. Hean
    3 de julho de 2014 às 21:25

    Exportando esta lista os dados não são perdidos/apagados do AD, certo? Apenas gera um relatório contendo as informações solicitadas, né?

  5. Rafael Santos
    30 de dezembro de 2014 às 10:51

    Igor, bom dia. Primeiro parabéns por publicar essas dicas no seu site…
    Estou precisando de uma ajuda, tenho que exportar em um arquivo *.csv todos os usuários no meu AD com as seguintes informações Nome – Login – Email – Unidade – Ramal – Cargo – Setor, isso é possível?
    Desde já obrigado pela ajuda.

  6. Gustavo Maciel
    11 de maio de 2017 às 09:10

    Igor, bom dia. Muito interessante justamente ajudou a gerar um relatório em uma OU com mais de 1000 Usuário…Obrigado e Parabéns pela página.

    • 11 de maio de 2017 às 11:59

      Que bom que ajudou.
      Obrigado pelo elogio Gustavo.

  1. No trackbacks yet.

Deixe uma resposta para Gustavo Maciel Cancelar resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s

%d blogueiros gostam disto: