Página 1 de 2
ESSA E DIFICIL !
Enviado: 06 Out 2005 19:42
por managercorp
Tenho clientes com 30, 42, e ate 55 estacoes na rede, e acontece que depois de meia noite a recepcao precisa indexar o sistema, antes de rodar a auditoria.
o Problema e que algums usuarios FDP deixam as suas maquinas ligadas com os arquivos abertos. obrigando o funcionario da noite ir de maquina a maquina, uma a uma, vendo quem deixou os arquivos abertos.
O DESAFIO E O SEGUINTE.
Sera que tem como nos Guerreiros do Clipper, conseguir um jeito de derrubar as estacoes que estao com os arquivos abertos. pelo programa.
nem que seja um aplicativo extra clipper, as redes sao na maioria NT ou Ponto a ponto, mas os arquivos ficam todos em um unico diretorio
na rede ex: f:\manager
O DESAFIO TA LANCADO...............................
Enviado: 06 Out 2005 21:06
por Augusto
Parceiro...
Via Clipper (até onde o meu conhecimento vai) IMPOSSÍVEL...
1 - Se a rede for NT, com a senha do administrador é possíver derrubar qualquer estação
2 - Se a rede for NOVELL... idem
3 - Se a rede for LANTASTIC (:)) )... idem
4 - Se a rede for AMPLUS (:))

))... idem
Notou que em qualquer situação o "guarda noturno" lá vai ter que continuar a peregrinação ??
Sinceramente... numa boa...
"Instrução Normativa" serve para isso... É aplicavem em qualquer empresa organizada e que tenha uma direção austera e atuante...
Acho que seu cliente não está precisando de um "utilitário" está precisando é disciplinar seus empregados (usuários) !!
Enviado: 07 Out 2005 00:23
por rrfsistemas
Olá
É uma dica meio tola mas...
Porque não programar uma tarefa no agendador de tarefas de cada estação para que em determinada hora ( 00:20) rode um aplicativo que de um logoff nas estações ou algo parecido...
:)Pos
obs não se esqueça de agendar a tarefa como administrador e bloqueie para que outro usuário não interrompa o processo.

Enviado: 07 Out 2005 07:39
por Daniel
Tenho uma ideia q pode dar certo.
Vc pode usar uma funcao da lib grump a GFonTickx("DesligaRede", 25)
ele e igual a ShowTime(), a diferenca que vc pode por uma funcao pra rodar junto.
ai vc cria no programa uma funcao pra criar um arquivo.
Function DesligaRede()
if File('deliga.txt')
Quit
EndIf
Enviado: 07 Out 2005 08:00
por Clipper
Existe uma função que criei chamada WKSNET que mostra todos os usuários ativos (que estão com o sistema aberto), porém ela tem um impecílio para você (conforme postagem anterior), é que para usar a WKSNET cada computador precisa ter uma variável de ambiente com o número da estação.
Se mesmo assim quiser a WKSNET é só me comunicar.
Usando a WKSNET + BGEVENTS é possivel criar uma rotina para o próprio operador dar um comando para "derrubar" a estação.
Até logo.
Marcelo
Enviado: 07 Out 2005 08:42
por gvc
Vc pode usar o VNC para acessar e derrubar as devidas estações de trabalho.
Daniel - Poderia dar maiores informações sobre a lib grump?
WKSNET ? TALVEZ
Enviado: 07 Out 2005 09:23
por managercorp
É acho que ate agora a opcao do Marcelo me parece um caminho a ser tentado.
Por favor Marcelo. gostaria de mais detalhes sobre o uso do WSKNET para o fim em questao.
Obrigado
Enviado: 07 Out 2005 10:33
por vagucs
Migre seu sistema para xHarbour no Linux ou Windows e programa uma rotina para desligar em determinado horário.
Enviado: 07 Out 2005 11:10
por josenilson
Ai vai a minha opnião.....
Na biblioteca CA-TOOS, existe uma função chamada KeyTime que dispara uma tecla qualquer numa determinada hora:
Exemplo: KeyTime( K_F2 , "22:00" )
Neste exemplo, a tecla F2 será disparada as 10:00 da noite.
Daí, basta associar uma função a esta tecla utilizando a função SetKey(). Esta função poderá exibir uma mensagem ao usuário avisando que o programa será encerrado, e logo após ela fechará todos os arquivos abertos e encerará o programa.
Exemplo:
SetKey( K_F2 , { || Finaliza() } )
KeyTime( K_F2 , "22:00" )
.
.
.
FUNCTION Termina
@ 10,10 Say "O programa será encerrado em 3 segundos ..."
Inkey(3)
Close DataBases
Clear All
Quit
Return (NIl)
:xau
Enviado: 07 Out 2005 11:14
por josenilson
Corrigindo o exemplo...
SetKey( K_F2 , { || Finaliza() } )
KeyTime( K_F2 , "22:00" )
.
.
.
FUNCTION Finaliza
@ 10,10 Say "O programa será encerrado em 3 segundos ..."
Inkey(3)
Close DataBases
Clear All
Quit
Return (Nil)
Enviado: 09 Out 2005 01:01
por Irineu
Já tive este tipo de problema com um aplicativo que o cara tem que fazer um fechamento diario.
A solução que adotei foi o seguinte:
Quando o cara vai fazer o fechamento eu gravo um flag num arquivo e aguardo 30 segundos.
Fiz algumas alterações no sistema onde ele verifica a cada 20 segundos esse arquivo e qual o flag gravado, se o flag for 'S', aviso o usuario, fecho todos os arquivos e termino a execuão do programa independente do que o ele tiver fazendo, pois tem horario programado para esse fechamento, só que como vc disse a cambada sempre esqueceia ou ficava se enrolando pra sair.
Enviado: 10 Out 2005 14:20
por evolver
Complementando a idéia...
No programa administrador haveria um contador com tempo equivalente a um pouco mais que o dobro de tempo usado em pelo programa da rede para ler o arquivo. Após o tempo desse contador ele apagaria o arquivo e todos os programas logados na rede já estariam deslogados (poderia até ter um shutdown caso haja disponibilidade disso no computador)
Desativar Estação
Enviado: 10 Out 2005 15:16
por evandro.monte
Esse negócio de derubar estação sem finalizar o programa não me parece boa coisa, pois existem vários arquivos abertos.
A opção de agendar horário tem, além do problema acima, o inconveniente quando o relógio da estação começa a atrasar (bateria fraca).
Mas, se isso não importar, basta reiniciar o servidor. Outra opção é o programa netwatch.exe que mostra os usuários logados no servidor (mesmo que sejam através de mapeamentos) e você poderá desconectar.
Enviado: 10 Out 2005 21:07
por Clipper
Segue abaixo a função para resetar o sistema através de um servidor.
http://geocities.yahoo.com.br/mmendeso/wks.zip
Para derrubar uma estação é só selecionar uma estação que esteja online e pressionar ALT+DELETE o sistema saira automaticamente em 20 segundos. Todos os arquivos serão fechados antes.
Cada estação terá que ter uma variável de ambiente chamada WKSNET
Exemplos :
SET WKSNET=001
SET WKSNET=002
SET WKSNET=032
SET WKSNET=101
Etc...
Até logo.
Marcelo
Enviado: 11 Out 2005 01:56
por Clipper
Fiz algumas melhorias na função.
Baixem a nova versão em :
http://geocities.yahoo.com.br/mmendeso/wks2.zip
Agora pode também reiniciar o micro e desligar remotamente.
Se alguém fizer alguma melhoria e ou novas opções me mande para colocar para download.
Até logo.
Marcelo