Usando Shell para incluir múltiplos usuários no Windows

Publicado por Júlio Henrique 13/04/2005

[ Hits: 6.153 ]

Download inc_usr_ad.sh




Pode parecer estranho, postar aqui este script, mas como realmente é difícil trabalharmos em uma empresa "dos sonhos", onde não hajam servidores Windows, precisamos utilizar ferramentas que facilitem nosso trabalho.
Apesar de ser possível utilizar scripts da "outra plataforma" para a mesma tarefa que cumpre este script, tentei demonstrar o poder do Shell em nosso dia-a-dia; originalmente desenvolvido para rodar no Cygwin, pode ser adaptado às distribuições Linux, caso haja necessidade.

  



Esconder código-fonte

#!/bin/bash
#############################################################################################
#                                                                                           #
# inc_usr_ad.sh - Script para incluir usuarios no Active Directory (Windows 2000 / 2003)    #
#                                                                                           #
# Autor: Julio Henrique                                                                     #
# Email: julio.henrique@gmail.com                                                           #
# Data: 12/04/2005                                                                          #
#                                                                                           #
# "Disponibilizo este script "como está", sem nenhuma garantia, implícita ou explícita, de  #
# que funcione em qualquer ambiente. Recomendo realizar todos os testes em um ambiente à    #
# parte e, confirmando sua funcionalidade, implementá-lo em ambientes de produção.          #
# Este script pode ser copiado, distribuído, modificado, conforme a GPL."                   #
#                                                                                           #
#                                                                                           #
# Este script foi criado com a finalidade de satisfazer a necessidade de criação de         #
# múltiplos usuários de forma automatizada no Active Directory (Windows 2000 / 2003);       #
# originalmente desenvolvido para rodar no Cygwin, pode ser adaptado distribuições Linux,   #
# caso haja necessidade.                                                                    #
#                                                                                           #
# O Script funciona da seguinte maneira: recebe como parâmetro um arquivo .CSV (valores     #
# separados por vírgula), e gera um script para o DOS (scriptdsadd.bat) na pasta HOME, que  #
# deve ser rodado em um Servidor do Windows 2000 / 2003, ou qualquer estação Windows 2000 / #
# XP que possua as Ferramentas de Administração (Adminpak.msi) instaladas (comando dsadd).  #
#                                                                                           #
# O formato para o arquivo CSV é o formato padrão exportado pelo MS-Excel, ou seja:         #
#                                                                                           #
# login;nome_completo_do_usuario;senha                                                      #
#                                                                                           #
# Para a geração automática de senhas, recomendo o script em                                #
# http://www.vivaolinux.com.br/scripts/verScript.php?codigo=984                             #
#                                                                                           #
#                                                                                           #
# Atenção: verifique os parâmetros para o comando dsadd, para que os usuários sejam         #
# incluídos nas OUs e grupos corretos, com o script de logon e perfil corretos.             #
#                                                                                           #
# Sugestões, críticas e opiniões são sempre bem-vindas                                      #
#                                                                                           #
#############################################################################################

CONT=0
LINHA="vazio"
rm ~/scriptdsadd.bat 2> /dev/null 
if [ $# = 0 ]; then
   echo "Informe o nome do Arquivo. Exemplo: $0 arquivo.csv"
   exit
fi

while ! [ "$LINHA" = "" ]; do
   let CONT=CONT+1
   LINHA=$(cat -n $1|tr -s " "|grep ^" $CONT")
   if [ "$LINHA" = "" ]; then
      break   
   fi 

   USUARIO=$(echo $LINHA | cut -f1 -d";" | cut -f2 -d" ")
   NOME=$(echo $LINHA | cut -f2 -d";")   
   SENHA=$(echo $LINHA | cut -f3 -d";")

###   Atenção: Revise os parâmetros do comando dsadd (abaixo)   ###
   echo dsadd user \"cn=$USUARIO,ou=SubUnidadeOrganizacional,ou=UnidadeOrganizacional,dc=subdominio,dc=dominio,dc=com,dc=br\" -samid $USUARIO -display \"$NOME\" -pwd $SENHA -desc \"DESCRICAO DO USUARIO\" -memberof \"cn=Grupo,ou=UnidadeOrganizacional,dc=subdominio,dc=dominio,dc=com,dc=br\" -profile C:\WINDOWS\PROFILE -loscr scriptdelogon.bat -mustchpwd yes -canchpwd yes | tee -a ~/scriptdsadd.bat
done

Scripts recomendados

Wake up, neo... 0.2

Script para automatizar compilação e instalação do Squid

Monitora espaço em disco

Script Backup ultimo arquivo criado em um diretorio feito TAR direto para DAT

Baixar e usar Bíblia Sagrada usando o terminal linux


  

Comentários
[1] Comentário enviado por dinizmu em 13/04/2005 - 13:42h

muito legal e útil... pelo menos não ficamos dependentes de outros sistemas..


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts