Infra - Windows Server

Usando linhas de comando para gerenciar objetos no Active Directory

Neste artigo serão abordados os métodos para gerenciar todo o ciclo de vida de objetos do Active Directory por linha de comando.

por Leandro Carvalho



Tecnologias

Windows Server 2008 Standard

Windows Server 2008 Enterprise

Windows Server 2008 Datacenter

Sumário

Neste artigo serão abordados os métodos para gerenciar todo o ciclo de vida de objetos do Active Directory por linha de comando.

Conteúdo

Introdução

Procedimento

Conclusão

Referencias

Sobre o autor

Introdução

Desde o Windows 2003 existem algumas linhas de comando que podem nos auxiliar no dia-a-dia no gerenciamento de objetos do Active Directory. Muitos acham que elas não são muito úteis, mas abaixo vocês verão alguns motivos para mudar sua visão sobre esses comandos.

Procedimento

Comando DSADD

Com o comando dsadd é possível criar objetos como unidades organizacionais, grupos, usuários, computadores, contatos e quotas de partições de diretório.

Sua sintaxe é bem simples, conforme exemplos abaixo:

dsadd {objeto} "Caminho DN" {–atributos}

Exemplo de criação de uma OU chamada Servidores na raiz do domínio:

dsadd ou “ou=Servidores,dc=Frango,dc=com”

Depois do comando é necessário informar ao prompt o tipo de objeto. No caso do segundo exemplo foi usado o valor OU: (dsadd ou..) seguido do caminho LDAP do objeto. Para acesso a base do Active Directory é preciso usar a linguagem LDAP entre aspas duplas chamado Nome Distinto, ou Distinguished name (Caminho DN) em inglês: “ou=OU Teste,dc=frango,dc=com”.

No prompt o comando ficaria desta forma:


Figura 1 – OU Servidores


Figura 2 – OU criada

Em outro exemplo, numa empresa que tivesse o nome de domínio Company.com.br, o comando para criar a OU Servidores na raiz ficaria da seguinte forma:

dsadd ou “ou=Servidores,dc=Company,dc=com,dc=br”

Entre aspas é usada a estrutura do objeto de trás para frente: O Distinguished name. No próximo exemplo será criada uma unidade organizacional dentro da OU Servidores:

dsadd ou "ou=Servidores de arquivos,ou=Servidores,dc=frango,dc=com"


Figura 3 – OU Servidores de arquivos dentro da OU Servidores

É possível criar objetos com valores dos atributos também. Na criação de um usuário, por exemplo, é possível informar a senha, o primeiro nome, descrição, etc, conforme figura 4 onde é criado um usuário Leandro Carvalho com o primeiro nome Leandro (-fn Leandro), o ultimo nome Carvalho (-ln Carvalho), User Principal Name leandroc@frango.com (-upn leandroc@frango.com) e senha Pa$$w0rd (-pwd Pa$$w0rd):


Figura 4 – Usuário com atributos criados

Observe que para especificar o objeto User é usada a sintaxe CN=Leandro Carvalho. Para grupo, usuário, computador e contato é usado o mesmo atributo CN. Somente a OU ficaria com o atributo OU.

O intuito de todos os comandos abortados aqui é facilitar o cotidiano de gerenciamento de objetos. Com eles é possível criarmos, por exemplo, OUs em massa ou facilitar a criação de usuários.

No próximo exemplo foi criado um arquivo com extensão bat para criação de várias OUs. Poderia ser usado inclusive como modelo.


Figura 5 – Criação em massa de OUs

Com a opção replace do próprio bloco de notas foi trocado o nome OU=SÃO PAULO para OU=RIO DE JANEIRO, criando assim toda a estrutura de OUs de uma empresa em questão de segundos.


Figura 6 – OUs criadas

Para criação facilitada de usuários foi usado o comando abaixo com variáveis, salvando-o no bloco de notas com a mesma extensão bat. A variável %1 seria o primeiro valor depois do arquivo no prompt, seguida da variável %2.


Figura 7 – Modelo de criação de usuário com variáveis

O arquivo foi salvo no C:\criauser.bat. Quando ele é chamado pelo DOS e colocado o valor Eduardo (%1) Carvalho (%2) é criado o usuário Eduardo Carvalho com os atributos configurados, conforme figura 8:


Figura 8 – Usuário criado a partir do arquivo .bat

Comando DSMOD

Com o comando dsmod é possível modificarmos qualquer objeto do Active Directory usando os atributos relacionados a cada um deles. Na tabela abaixo existem alguns exemplo de atributos do objeto usuário:

Valor

Descrição

-upn <UPN>             

Valor do UPN

-fn <primeironome>        

Primeiro nome do usuário

-ln <Ultimonome>         

Último nome do usuário

-pwd {<senha> | *}  

Senha do usuário. Se o valor for * é preciso colocar uma senha para o usuário durante a criação do objeto

-desc <Descrição>    

Descrição do usuário

-tel <NumTelefone>          

Telefone do usuário

-email <Email>         

E-mail do usuário

-mobile <NumCelular#>   

telefone celular do usuário

-dept <Departmento>     

Departamento do usuário

-mustchpwd {yes | no}  

Especifica se o usuário precisará trocar a senha no próximo logon

-disabled {yes | no}   

Valor de conta desabilitada. O padrão é no.

Tabela 1 –Atributos de usuários

Obs: Se houverem espaços nos valores dos atributos, os mesmo devem estar entre aspas duplas.

A sintaxe para a modificação de objetos é conforme o exemplo abaixo:

 Dsmod {objeto} “Caminho DN” {–atributos} “valor dos atributos”

No exemplo abaixo vários atributos do usuário Leandro são modificados


Figura 9 – Trocando os atributos do usuário Leandro Carvalho

Comando DSMOVE

Com o comando dsmove é possível mover ou renomear um objeto.

A sintaxe do comando para renomear é conforme o exemplo abaixo:

Dsmove {objeto} “Caminho DN” –newname “Novo nome”

No exemplo da figura a seguir é renomeado o usuário Leandro Carvalho para Leandro Cavalcante.


Figura 10 – Renomeando um objeto

A sintaxe para mover um objeto é conforme o exemplo abaixo:

Dsmove {objeto} “Caminho DN” –newparent caminhoDNDestino

Nesta próxima figura o usuário Leandro Cavalcante é movido para a OU Suporte.


Figura 11 – Movendo um objeto

Comando DSQUERY

Para procurar objetos no Active Directory é preciso usar o comando dsquery com a seguinte sintaxe.

Dsquery {objeto} {-atributos} “Valor do atributo”

Neste exemplo é feita uma pesquisa de usuários que comecem com a letra L:


Figura 12 – Procura de usuários que comecem com a letra L

No exemplo da figura 13 é pesquisado os computadores que não fazem logon a n semanas, onde n é o numero de semanas do atributo -inactive. É um ótimo comando para procurar contas de computadores que não estão sendo utilizadas no seu ambiente.


Figura 13 – Computadores inativos

Comando DSGET

O comando dsget é utilizado para exibir as propriedades de um objeto do Active Directory.

A sintaxe do comando é conforme o exemplo abaixo:

Dsget {objeto} “caminho DN”

Na figura abaixo são exibido os atributos do usuário Leandro Carvalho:


Figura 14 – Atributos exibidos com o dsget

Comando DSRM

Para exclusão de qualquer objeto é usado o comando dsrm.

A sintaxe do comando é conforme o exemplo abaixo:

Dsrm “caminho DN”

Neste comando não é necessário colocar o tipo de objeto, somente o caminho DN.


Figura 15 – Exclusão de objetos com o dsrm

Conclusão

Este artigo abordou os métodos de gerenciamento de objetos do Windows Server 2008.

Referências

http://technet.microsoft.com/en-us/library/cc772390(WS.10).aspx

Leandro Carvalho

Leandro Carvalho - Leandro Carvalho trabalha em um parceiro na Australia como instrutor e engenheiro de sistemas em produtos Microsoft como Windows Server, virtualização, ISA Server, Exchange Server, System Center, CRM Server, Sharepoint e sistemas clientes, além de ajudar a comunidade constantemente com artigos, palestras e foruns.
Possui as certificações MCP/MCSA+M+S/MCSE+S/MCTS/MCITP/MCBMS, MCT e MVP Virtual Machine. No ano de 2009 ele ganhou o prêmio MCT Awards destaque do ano da América Latina e em 2010 o MVP awards especialista em virtualização.
Blog: http://msmvps.com/blogs/msvirtualization
Twitter: @leandroeduardo