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

Publicado por Júlio Henrique 13/04/2005

[ Hits: 6.816 ]

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

Sincronizando seu hosts.deny com blacklist online

Visualizar capas de álbuns de músicas no MPD/MPC/NCMPCPP

Configurando acesso ao MS SQL Server nativo e via ODBC no Debian GNU/Linux

Ver consumo mensal Speedy

LogPac


  

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

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts