Eu criei o script a seguir para enviar mensagens para um usuario especifico, se o usuario se chamar "ALL" a mensagem ir� para todos na rede.
Atenc�o que o script abaixo usa o banco de dados de netbios (wins) e tambem usa a lista de usuarios do samba, por isso ele s� ir� funcionar onde estiver o samba instalado.
Eu nao testei em outras distros al�m do Redhat, mas acho que funciona do mesmo jeito.


inte+

<===== inicio do script =======>
#!/bin/bash
##########################################################
# Descricao :
#   Envia mensagens pela rede de usuarios smb
# Autor :
#   Gladiston Santana ([EMAIL PROTECTED])
# USO :
#   sendmsg NOME_USUARIO "mensagem_a_ser_enviada"
#   sendmsg ALL "mensagem_a_ser_enviada_a_todos_os_usuarios_da_rede"
#   sendmsg "CICLANO BELTRANO" "mensagem_para_dois_usuarios_simultaneos"
###########################################################

# Salvando a mensagm num arquivo temporario
echo $2 >/tmp/message

# 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=`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 : $2"
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 !"
/usr/bin/smbclient -U SERVIDORES -M $net_user -I $netbios_ip </tmp/message >/dev/null
else
echo " [FALHOU] usuario $net_user nao foi encontrado na rede."
fi;
done


# Eliminando arquivo temporario que restou
rm -f /tmp/message

# Fim do script
<====== fim do script ==========>
Leonardo Comelli escreveu:

Ol� Pessoal,

Algu�m sabe como fa�o para enviar uma mensagem para todos os
terminais, estou utilizando o Servidor CL9 e os terminais s�o windows 98,
2000 e XP



--------------------------------------------------------------------------- Esta lista � patrocinada pela Conectiva S.A. Visite http://www.conectiva.com.br

Arquivo: http://bazar2.conectiva.com.br/mailman/listinfo/linux-br
Regras de utiliza��o da lista: http://linux-br.conectiva.com.br
FAQ: http://www.zago.eti.br/menu.html

Responder a