Usando Shell para incluir múltiplos usuários no Windows
Publicado por Júlio Henrique 13/04/2005
[ Hits: 6.960 ]
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
Calcular o consumo de energia elétrica de eletrodomésticos
Script de Inclusão (atualização) de Repositórios para Mandriva 2008.
Tire screenshots com Scrot facilmente com Zscrot
Gerenciador Servidor de Arquivos
Script para instalação Gerix Wi-fi Cracker no Kali Linux
Atualizando o Passado: Linux no Lenovo G460 em 2025
aaPanel - Um Painel de Hospedagem Gratuito e Poderoso
O macete do Warsaw no Linux Mint e cia
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)
Pastas da raiz foram para a área de trabalho [RESOLVIDO] (11)
Será que eu deveria apreender C/C++ para desenvolver para Linux? (4)