InfoFAQ

InfoFAQ

quarta-feira, 27 de janeiro de 2016

Dicas e truques sobre Active Directory

Trago neste post algumas dicas que podem facilitar e muito a vida de quem precisa retirar relatórios de objetos do AD.


  • Alteração de senha em massa.
  • Alteração da descrição do usuário no AD.
  • Bloqueio e remoção de usuários em massa.
  • Bloqueio e remoção de computadores.
  • Criação de grupos em massa.
  • Criação de usuários em massa.
  • Extração de membros de um grupo.

1. Alteração de senha em massa



Comando para realizar a alteração de senha de um (1) usuário:

DSQUERY USER -SAMID usuario | DSMOD USER -PWD senha@123


Planilha para alteração em massa: <<aqui>>


Após preencher a planilha com os dados.

Vá para primeira aba, faça a copia dos comandos e execute no CMD.



 Pronto, as senhas estarão alteradas conforme o preenchimento na planilha.



2. Alteração da descrição do usuário do AD


Comando para realizar a alteração da descrição de um (1) usuário:

DSQUERY USER -SAMID usuario1| DSMOD USER -DESC empresa

Planilha para alteração em massa: <<aqui>>

Da mesma forma como a anterior, preencha a planilha e execute os comandos no CMD.


3. Bloqueio e remoção de usuários em massa


Comando para realizar o bloqueio de um (1) usuário:


DSQUERY USER -SAMID usuario | DSMOD USER -DISABLED YES


Comando para realizar a remoção de um (1) usuário


DSQUERY USER -SAMID usuario | DSRM -NOPROMPT


Planilha para bloqueio e remoção de usuários em massa: <<aqui>>


Como já sabemos, apenas preenchemos a planilha com os usuários do AD e colamos os comandos no CMD para execução.



4. Bloqueio e remoção de computadores


Comando para realizar o bloqueio de um (1) computador:

DSQUERY COMPUTER -NAME computador1 | DSMOD COMPUTER -DISABLED YES

Comando para realizar a remoção de um (1) computador:

DSQUERY COMPUTER -NAME computador1 | DSRM -NOPROMPT

Planilha para bloqueio e remoção de computadores: <<aqui>>


5. Criação de grupos em massa


 Para a criação de grupo em massa vamos ter um pouco mais de trabalho. Vamos precisar alterar a planilha conforme a estrutura do AD.




Após ter feito isso, preencher a planilha com os nomes dos grupos, depois é só copiar e executa-los no CMD.



Planilha para criação de grupos em massa: <<aqui>>

6. Criação de usuários em massa



Para a criação de usuários em massa vamos seguir na linha de grupos, alterando na planilha conforme a estrutura do seu AD.

O comando para criação de usuário, assim que a planilha estiver devidamente preenchida, irá ficar da seguinte forma:

dsadd user CN="Gustavo Miguel","OU=USUARIOS,OU=COMERCIAL,OU=CWB,OU=BR,DC=CONTOSO,DC=LOCAL" -samid gustavo.miguel -upn gustavo.miguel@contoso.local -pwd senha@123 -desc "Empresa corporativa" -iptel "00000000" -display "Gustavo Miguel" -disabled no -mustchpwd yes -fn "Gustavo" -ln "Miguel"

Você irá precisar preencher as seguintes colunas:


Planilha para criação de usuários em massa: <<aqui>>



7. Extração de membros de um grupo


Empresas de grande porte, podem e provavelmente terão "milhões" de grupos criados no AD e nesses "milhões" de grupos há também muitos usuários em diferentes grupos. Volta e meia, algum coordenador solicita a infra que envie os usuários que fazem parte de "tal" grupo. Você abre o grupo e verifica que nele há mais de 100 usuários. Seus problemas acabaram, nada de enviar print da tela, ou copiar os usuários no braço. Apresento-lhes o "Usuário x Grupos".

Esse é o Script (em vermelho o que você precisa alterar):

------------------------
On Error Resume Next

Diretorio= "C:\temp" (aqui você escolhe o local onde será gerado o .txt)

grupo= InputBox("Digite o nome do grupo a gerar o relatório dos usuários")

file= grupo & ".txt"

Set oFSO = WScript.CreateObject("Scripting.FileSystemObject")

Set objFolder = oFSO.CreateFolder(Diretorio)
Set Dir=oFSO.GetFolder(Diretorio)

Set arqtxt = Dir.CreateTextFile(file, True)

Set rootDSE = GetObject("LDAP://RootDSE")
domainContainer =  rootDSE.Get("defaultNamingContext")
Set conn = CreateObject("ADODB.Connection")
conn.Provider = "ADSDSOObject"
conn.Open "ADs Provider"
LDAPStr = "<LDAP://" & DomainContainer & ">;(&(objectclass=group)(objectCategory=group)(samaccountname=" & grupo & "));adspath;subtree"

Set rs = conn.Execute(LDAPStr)
If rs.RecordCount = 1 Then
   Set oGroup = GetObject(rs.Fields(0).Value)
       
End If
for each strMember in oGroup.member

Spmember = Split(strMember, ",")

member= Spmember(0)

arqtxt.WriteLine Mid (member,4)
   
Next

iGroupCount = 0
     For each strMember in oGroup.member
          If Len(strMember) = 0 Then
               wscript.echo "Grupo sem nenhum membro ou não existente!"
          Else
               iGroupCount = iGroupCount + 1
           
          End If
     Next

arqtxt.WriteLine("Número total de usuarios neste grupo = ") & iGroupCount
arqtxt.Close

WScript.echo "O relatório foi gerado na pasta USUARIOS no desktop."
wscript.quit
----------------------------

<<Download do VBS>>


Duvidas? Deixe seu comentário.

Até mais!!!


Nenhum comentário:

Postar um comentário