Utilizando dsquery e dsget para geração de relatórios de Active Directory

Publicado em:
17/01/2011

Por: Fábio Augusto

Introdução:

Andei pesquisando estes dias, e verifiquei que existem alguns comandos úteis usados com o DSADD, DSQUERY, DSMOVE entre outros é possível gerar alguns “relatórios” de objetos do Active Directory para várias finalidades, e o dsquery/dsget são as ferramentas apropriadas para isso. 

Acredito que muita gente não utilize esse tipo de procedimento, mais pela “dificuldade” de colocar o endereço completo das OUs (distinguished name, ou DN), do que a dificuldade de utilização dos comandos em si. Portanto, seguem algumas dicas:

Requisitos para utilização:

Os dois comandos estão disponíveis desde o Windows 2003 Server, ficando disponíveis na instalação das ferramentas administrativas de Active Directory.
Estes comandos podem ser utilizados também no Windows 2000 (copiando os executáveis para o sistema operacional…) porém necessitam ao menos o Service pack 3 instalado para que todos os parâmetros sejam correspondentes. O parâmetro -inactive, por exemplo, não pode ser utilizado em Service Packs anteriores.
Tendo cumprido com estes requisitos, em um Controlador de Domínio, abra o prompt de comando e rode quaisquer dos comandos.

Utilizando dsquery e dsget juntos:

Ambos os comandos se utilizam do tipo de objeto, para colher os dados, portanto temos a sintaxe:

dsquery ou dsget <computer ou user ou group ou contact…> -parâmetros

O dsquery é utilizado para trazer a lista de objetos aos quais se quer colher informações, em um formato que pode ser utilizado pelo dsget, para que as informações sejam mostradas.
Por exemplo:

Se rodarmos o comando:

dsquery computer “ou=Domain Controllers,dc=zibiani,dc=corp”

A saída no prompt de comando, será a lista de computadores dentro da OU “Domain Controllers”, mostrada em Distinguished Names conforme abaixo:

“CN=DC01,OU=Domain Controllers, dc=zibiani,dc=corp”
“CN=DC02,OU=Domain Controllers, dc=zibiani,dc=corp”
“CN=DC03,OU=Domain Controllers, dc=zibiani,dc=corp”

O dsget, concatenado ao dsquery “aproveita” cada linha saída e a utiliza para pegar informações do objeto representado. Portanto, se rodarmos:

dsquery computer “ou=Domain Controllers,dc=zibiani,dc=corp” | dsget computer –samid -disabled

Temos a saída correspondente a cada objeto, apresentando seu sAMAccountId e se este objeto está desabilitado ou não:

samid        disabled
DC01$        no
DC02$        no
DC03$        no

Portanto, as possibilidades são muito grandes.

Exemplos de Utilização:

*    Relatórios de usuários e máquinas desabilitadas.
*    Relatório de usuários que necessitam trocar senha.
*    Report de SID de objetos.
*    Relatórios com múltiplos parâmetros.
*    Relatório de máquinas inativas na rede, em semanas, utilizando o parâmetro “-inactive”.

Estes são exemplos simples e de utilização muito prática com o dsquery/dsget, porém existem outros parâmetros e objetos que podem ser pesquisados e listados.

A melhor fonte de informações sobre estes comandos é justamente o “manual” do Technet, com todos os parâmetros e funções fornecidas:
http://technet.microsoft.com/en-us/library/cc755162%28WS.10%29.aspx
http://technet.microsoft.com/en-us/library/cc732952%28WS.10%29.aspx

Assim que tiver mais comandos úteis, eu posto aqui!

At+ Galera

2 respostas em “Utilizando dsquery e dsget para geração de relatórios de Active Directory

    • Fala Thiago,

      Eu que agradeço pelo seu tutorial,que é bem esclarecedor, sei do esforço que é para elaborar , são horas e horas, e por isso sempre que não posso elaborar um, eu compartilho o conhecimento, como disse , importante é ajuda mútua.

      Valeu pelo apoio,Um Abraço

Deixe uma resposta

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

Logotipo do WordPress.com

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

Imagem do Twitter

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

Foto do Facebook

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

Foto do Google+

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

Conectando a %s