DSQUERY

O comando DSQUERY é usando principalmente para fazer pesquisas avançadas de usuários, grupos, computadores, OU, sites, e outros no domínio com o critério que você especifica.

Vamos começar com alguns exemplos simples

  • Para achar todos os computer inativos nos últimos 4 semanas:

dsquery computer -inactive 4

  • Para achar todos os usuários em um certo OU no dominio Microsoft.com:

dsquery user OU=Marketing,DC=Microsoft,DC=Com

  • Para ler todos os atributos de um objeto cujo CN é conhecido como OU=teste,DC=tekniblog,DC=Com por exemplo

dsquery * OU=teste,DC=tekniblog,DC=Com -scope base -attr *

Exemplos combinados e mais avançados:

Usar o comando DSQUERY USER simples ( sem pipes) para mostrar um certo usuário cujo nome é parcialmente desconhecido.

1- Mostrar todos os usuários cujo nome começa com joao em uma certo ouo o no Domínio inteiro.

este comando procura todos os nomes no dominio que tem natalino como primeiro nome

dsquery user domainroot -name natalino*

“CN=Natalino Joao da Silva,OU=Users,OU=ADMIN,DC=MEUDOMINIO,DC=LOCAL”

este comando procura o natalino no OU users

dsquery user ou=users,ou=admin,dc=MEUDOMINIO,DC=LOCAL -name natalino*

2- Para procurar todas as pessoas cujo nome termina com silva fazemos as mesmas pesquisas e só mudamos a posição do asterisco pondo o em frente do nome, exemplo

dsquery user domainroot -name *silva

e

dsquery user ou=users,ou=admin,dc=MEUDOMINIO,DC=LOCAL -name *silva

3- Usar DSQUERY com DSGET para mostrar os GRUPOS de um usuário

Com um usuário em mente podemos fazer uma query para mostrar que grupos que esse user pertence. Primeiro usamos o comando dsquery só para pesquisar se existe no domínio:

dsquery user dc=MEUDOMINIO,dc=LOCAL -name nassim*

o resultado irá listar todos os nomes no domínio que coeçam com nassim em formato CN, exemplo:

cn=nassim dhaher,ou=usuario,ou=suporte,dc=meudominio,dc=local

agora vamos ver em que grupos o usuário pertence

dsquery user dc=MEUDOMINIO,dc=LOCAL -name nassim* | dsget user -memberof

o resultado irá listar todos os grupos em formato CN também.

“CN=Domain Users,CN=Users,DC=meudominio,DC=local”

“CN=Domain Admins,CN=Users,DC=meudominio,DC=local”

“CN=Enterprise Admins,CN=Users,DC=meudominio,DC=local”

4- Listar as contas de usuários em um certo OU, mostrando o SAMID

o comando usa uma dsquery com uma dsget utilizando um pipe | (shift+z) para listar os SIDs (usados para efetuar os logins)

dsquery user ou=users,ou=MEUOU,dc=MICROSOFT,dc=COM |dsget user -samid

para uma lista com mais de 100 objetos basta acrescentar -limit 300(o número dependo do número dos objetos).

* para ver os usuarios com conta bloqueiada acrescente  -disabled do comando, este vai dar duas colunas uma com o samid e uma com o status, disabled -yes ou no.

dsquery user ou=users,ou=MEUOU,dc=MICROSOFT,dc=COM |dsget user -samid -disabled

5- Usando dsquery e dsmod para settar o HomeDrive e HomeDirectory

este comando usa dsquery para fazer uma pesquisa dos nomes em um certo OU (Unidade Organizacional – Organizational Unit). Usamos o Pipe      ” | ”   (shift+\)  para mandar o resultado para o comando dsmod que fará algumas alterações nos dados .

dsquery user ou=users,ou=MEUOU,dc=MICROSOFT,dc=COM | dsmod user -hmdir \\meu servidor\arquivos -hmdrv z:

neste exemplo todos os usuários no MEUOU terão um novo homedrive (z:) e uma nova past(a \\meuservidor\meusarquivos) de mapeamento para o drive.

se tiver mais de 100 usuários no OU basta acrescentar -limit 200 (200 é um exemplo ) antes do comando pipe | (shift + \).

e aí fica

dsquery user ou=users,ou=MEUOU,dc=MICROSOFT,dc=com -limit 200 |dsmod user -hmdir \\meu servidor\arquivos -hmdrv z:

para saber mais sobre  dsquery use o comand de ajudo

dsquery /?

7- Usar o dsquery com o dsmod para não permitir que os usuários alterarem as suas senhas

dsquery user ou=users,ou=MEUOU,dc=MICROSOFT,dc=com -limit 200 |dsmod user -canchpwd no

observação: o uso de de canchpwd com a opção não (canchpwd no) conflita com o uso de mustchpwd com a opção sim (mustchpwd yes). Quem está com a opção de um não pode ter o outro ao mesmo tempo porque um usuário que tem que alterar a sua senha no próximo login não pode ser negado de alterar a sua senha.

Em seguida ao tentar o seguinte comando com o acima citado vamos receber um erro.

dsquery user ou=users,ou=MEUOU,dc=MICROSOFT,dc=com -limit 200 |dsmod user -mustchpwd yes

—————————

Última atualização 28/07/2011

2 Respostas para DSQUERY

  1. Priscila disse:

    Olá!
    Gostaria de saber se tem alguma maneira de via comando dsquery estar pegando os computadores inativos com suas respectivas datas de modificação. Por exemplo:
    DSQUERY COMPUTER -INACTIVE 4 -LIMIT 0 | DSQUERY COMPUTER -ATTR WHENCHANGED > C:\relatorio.txt

    Tentei via dsget e ele não pega por atributo, eu queria que ele exibisse os computadores inativos e suas datas de modificação.
    Sabe algum jeito?
    Att.,
    Priscila

Deixe um comentário

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

WordPress.com Logo

You are commenting using your WordPress.com account. Sair / Alterar )

Imagem do Twitter

You are commenting using your Twitter account. Sair / Alterar )

Foto do Facebook

You are commenting using your Facebook account. Sair / Alterar )

Connecting to %s