Usando Shell para incluir múltiplos usuários no Windows
Publicado por Júlio Henrique 13/04/2005
[ Hits: 6.943 ]
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
arredonda - arredondando valores decimais quebrados
Gerenciador de Conexões terminal server com Mysql
Scrip para criação de arquivos em série
Visualizar os processos que mais consomem memória
Implementando a famosa hélice ASCII
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
Aplicativo simples para gravar tela
Quebra de linha na data e hora no Linux Mint
Manjaro 25.0 no permite usar crontab (1)
Como fazer boot em img do debian 12.img da web? (1)
trocar linhas [RESOLVIDO] (11)