[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: SAMBA - Enviar menssagens para todas as mauqinas do dominio.



O script abaixo faz isso, no entanto, ele envia a mensagem que estiver
num arquivo texto.
Se voce quiser enviar a mensagem pela linha de comando sem ter que criar nenhum
arquivo texto contendo a mensagem também pode, basta usar o operador
de entrada <;

##########################################################
# Descricao :
#   Envia mensagens pela rede de usuarios da Rede
# Autor :
#   Hamacker (sirhamacker[em]gmail.com)
# USO :
#   sendmsg NOME_USUARIO "/arquivo/contendo/a/mensagem.txt"
#   sendmsg ALL "/arquivo/contendo/a/mensagem.txt"
#   sendmsg "CICLANO BELTRANO" "/arquivo/contendo/a/mensagem.txt"
###########################################################

# Salvando a mensagm num arquivo temporario
MSG_FILE="$2"
if ! [ -e "$MSG_FILE" ] ; then
 echo "Arquivo contendo a mensagem nao existe :"
 echo "$MSG_FILE"
 echo "---"
 echo "Pressione [ENTER] para retornar."
 read
 exit 2;
fi

# O primeiro parametro define o(s) destinario(s) da mensagem
parametro1=`echo $1|tr '[:lower:]' '[:upper:]'`
lista="$parametro1"

# Se o primeiro parametro for "ALL" entao todos os usuarios cadastrados
# neste sistema que sao usuarios do samba receberao a mensagem
if [ "$parametro1" = "ALL" ] ; then
 lista=`sudo cat /etc/samba/smbpasswd | awk -F: '{print $1}'|tr
'[:lower:]' '[:upper:]'`
fi;

# Fazendo um pequeno verboset muito util antes de comecar a enviar as mensagens
echo "    Para : $lista"
echo "Mensagem : $MSG_FILE"
echo "Iniciando transmissao ...

# Enviando mensagem usuario por usuario
# Em geral os usuarios desconectados fazendo com que a transmissao perca
# um pouco de performance.
for x in $lista ; do
 net_user="$x"
 netbios="$net_user#03"
 netbios_ip=`/usr/bin/nmblookup $netbios |grep "$net_user<03>"|cut -f 1 -d " "`
 echo "tentando enviar mensagem para $net_user ($netbios_ip)..."
 if [ "$netbios_ip" != "" ] ; then
    echo "   [OK] mensagem enviada com sucesso !"
    sudo /usr/bin/smbclient -U SERVIDORES -M $net_user -I $netbios_ip
<$MSG_FILE >/dev/null
 else
    echo "   [FALHOU] usuario $net_user nao foi encontrado na rede."
 fi;
done

# Eliminando arquivo temporario que restou
sudo rm -f $MSG_FILE

# Fim do script

Em 12/04/07, Gustavo Carvalho<gustavo.grupos@gmail.com> escreveu:
Gelera,

alguem sabe se o samba possui alguma forma de enviar menssagem para todos as
mauqinas do dominio.?
Para ser usado tipo alerta.

Ex:

Maquina será desligado as XX horas.
Sistema ficará fora do as de 11:00 as 12:00



Att
Gustavo




Reply to: