Usando linhas de comando para gerenciar objetos no Active Directory

Aplica-se

  • Windows Server 2003 Standard Edition
  • Windows Server 2003 Standard Edition
  • Windows Server 2003 Enterprise Edition
  • Windows Server 2008 Standard Edition
  • Windows Server 2008 Enterprise Edition
  • Windows Server 2008 Datacenter Edition

Visão Geral

Usando linhas de comando para gerenciar objetos no Active Directory.

Conceito

Desde o Windows 2003 existem algumas linhas de comando que podem nos auxiliar no dia-a-dia no gerenciamento de objetos do Active Directory. Este artigo mostrará alguns exemplos que podem facilitar este tipo de serviço.

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.

A sintaxe do dsadd é 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 dsadd é 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:

clip_image002

Figura 1 – OU Servidores

 

clip_image004

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"

clip_image006

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):

clip_image008

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=OUTest.

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.

Na figura 5 foi criado um arquivo com extensão .bat para criação de várias OUs. Poderia ser usado inclusive como modelo.

clip_image010

Figura 5 – Criação em massa de OUs

 

Com a opção replace do próprio notepad 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.

clip_image012

Figura 6 – OUs criadas

 

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

clip_image014

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:

clip_image016

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. Abaixo como exemplo alguns 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.

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 da figura 9 vários atributos do usuário Leandro são modificados

clip_image018

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.

clip_image020

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.

clip_image022

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”

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

clip_image024

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.

clip_image026

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:

clip_image028

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”

No comando dsrm não é necessário colocar o tipo de objeto, somente o caminho DN, conforme figura 15:

clip_image030

Figura 15 – Exclusão de objetos com o dsrm

 

Para maiores informações sobre os atributos de cada comando acesse http://technet.microsoft.com/en-us/library/cc772390(WS.10).aspx

Conclusão

Com esses comandos podemos criar modelos, automatizar, facilitar e fazer todo o gerenciamento de objetos do Active Directory.

Leandro Carvalho

About leandroesc
Leandro Carvalho works as product specialist with Microsoft solutions such as Windows Server, Hyper-V, App-V, VDI, Security, System Center, Exchange, Lync Server, Sharepoint, Project Server and client systems, in addition to helping the community constantly with articles, forums, videos and lectures about his passion: Microsoft Virtualization. He obtained the certifications Certified Ethical Hacker/MCP/MCSA+M+S/MCSE+S/MCTS/MCITP/MCT and MVP. In 2009 he won the MCT Awards Latin America Trainer of the year and since 2009 the Microsoft MVP as a Virtualization Specialist.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: