Extraindo informações do diretório ativo

2

Eu trabalho no departamento de suporte de TI de uma filial de uma grande empresa.

Eu tenho que cuidar de um banco de dados com todos os usuários, computadores, etc. Estou tentando encontrar uma maneira de atualizar automaticamente o banco de dados, tanto quanto possível, mas a equipe de TI não me dá privilégios suficientes para usar o Active Directory para despejar os usuários, nem eles têm tempo para me dar as informações que eu preciso.

Alguns dias atrás eu encontrei o Active Directory explorer da Sysinternals que me permite navegar pelo Active Directory, e encontrei todas as informações que eu preciso (nome de usuário, nome real, data de criação, privilégios, empresa, etc. ). Infelizmente, não consigo exportar os dados para um formato legível por humanos. Eu sou apenas capaz de tirar um instantâneo de todo o banco de dados em um formato legível por máquina. Fazer o instantâneo leva horas e tenho medo de que os caras da infra-estrutura não gostem de eu fazer fotos inteiras regularmente.

Você conhece alguma ferramenta (a linha de comando é preferível) que me permita recuperar os valores das chaves ou exportá-la para XML, CSV, etc?

    
por Kovags 05.03.2011 / 14:42

3 respostas

3

Use as ferramentas de linha de comando mais antigas do Active Directory para despejar em CSV: link

Ou use o pacote mais recente do PowerShell para exportar para CSV, Excel etc. Se você não estiver na sintaxe do Powershell, a ferramenta PowerGUI é excelente. link

Ou use os métodos VBScript não muito antigos, mas não muito novos. Aqui está um exemplo de VBScript que exporta todas as propriedades de todos os usuários para o Excel: link

A Microsoft tem vários exemplos de PowerShell e VBScript aqui: link

    
por 05.03.2011 / 15:49
2
Primeiramente, tente e trabalhe com a equipe de infraestrutura, se puder explicar exatamente quais dados você precisa, eles poderão configurar algo automaticamente para você.

Há duas coisas que recomendarei aqui:

CSVDE / LDIFDE . Esses são utilitários de linha de comando que podem exportar qualquer informação desejada. Se você quiser algo para processar use csvde, se você quiser backups completos ou capacidade de alterar os atributos selecionados, considere o ldifde.

link

link

O Softerra LDAP broswer é uma ótima ferramenta de GUI que você pode usar para navegar no AD "bruto".

link

Procure a versão gratuita chamada de navegador ldap, não o administrador do ldap. A partir daqui, você pode clicar com o botão direito do mouse em qualquer objeto e exportar ldifde.

    
por 05.03.2011 / 15:52
2

Estou reinterpretando sua pergunta como:

How do I export data out of AD in a format easy to process, either as a complete dump or object by object?

Você precisa se familiarizar com o Powershell e o módulo ActiveDirectory. Você pode fazer coisas assim:

Import-Module ActiveDirectory
$me = Get-ADUser myUsername -Properties givenName,sn
Write-Output "My name is $($me.givenName) $($me.sn)."

ou isto:

Import-Module ActiveDirectory
$subsetUsers = Get-ADUser -Filter * -SearchBase "ou=someou,dc=mydomain,dc=com"

ou isto:

Import-Module ActiveDirectory
$allUsers = Get-ADUser -Filter *
Write-Output "I've found $($allUsers.Count) users in this domain - writing to CSV."
$allUsers | Export-CSV "myOutputFile.csv"

Powershell é seu melhor amigo de sempre.

    
por 08.03.2011 / 07:03