Usando Shell para incluir múltiplos usuários no Windows
Publicado por Júlio Henrique 13/04/2005
[ Hits: 6.955 ]
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.
#!/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
Beckup .tar.gz com Data e Hora
Relógio em tempo real no terminal
Script usado junto com o squid para dedurar usuários.
Aprenda a Gerenciar Permissões de Arquivos no Linux
Como transformar um áudio em vídeo com efeito de forma de onda (wave form)
Como aprovar Pull Requests em seu repositório Github via linha de comando
Visualizar arquivos em formato markdown (ex.: README.md) pelo terminal
Dando - teoricamente - um gás no Gnome-Shell do Arch Linux
Como instalar o Google Cloud CLI no Ubuntu/Debian
Mantenha seu Sistema Leve e Rápido com a Limpeza do APT!
Procurando vídeos de YouTube pelo terminal e assistindo via mpv (2025)
Zorin OS - Virtual Box não consigo abrir maquinas virtuais (1)
O que você está ouvindo agora? [2] (180)