Encerrar uma sessão automaticamente - Logoff automaticamente
Cenário:
Imagine que em sua empresa foi instalado nos corredores vários computadores para visitantes e funcionários utilizarem; porem, tem usuário que depois de acessar o computador, sai e deixa a estação bloqueada impedido que outros usuários possam acessar o computador.
Para resolver esse problema vamos fazer
com um LOGOFF forçado - encerramento de sessão do usuário logado no micro no
intervalo de 20 minutos.
Para
isso, será criado em VBScript uma rotina que “pega” a data e hora
em que o usuário logou no micro e compara com a hora e minuto
predefinido no script, se hora predefinida for menor que hora atual, o script encerra a cessão; enquanto não for conte + 1 até 2000 e
então exiba a hora que a sessão será encerrada.
Verificamos que o script "Logout.vbs" é executado em uma janela permitido o
usuário fechar e assim encerrar a execução do script. Para
resolver esse problema foi criado uma BAT que executa o script
Logout.vbs de forma oculta; impossibilitado que o usuário venha
encerrar o script.
Antes de proseguir com o passo a passo, será necessário criar uma pasta no drive c:\
com o nome "Logouttimeoff". Exe: "c:\Logouttimeoff".
Vide aqui o Passo a Passo
Passo
a
Passo
para
Configurar
o
Script
de
Logon
que
Encerra
Sessão
Acesse o equipamento que receberá o serviço com uma chave Administrativa.
' VBScript
' NAME: Logout
' VERSÃO: 1.0
' AUTHOR: www.DicasQueFunfa.com.br
' DATE : 26/12/2011
' O objetivo desse script é encerrar a cessão do usuário em um determinado tempo
On Error Resume Next
Set WshShell = WScript.CreateObject("WScript.Shell")
HoraPermitida = "0" 'Informe as HORAS em que a cessão será expirada
MinutoPermitido = "20" 'Informe os MINUTOS em que a cessão será expirada
cont = 1
'Pega a hora em que o usuário logou no computador
LogonHora = Now
LogonHora = DateAdd("h",HoraPermitida, LogonHora)
LogonHora = DateAdd("n",MinutoPermitido, LogonHora)
WScript.Echo "ATENÇÃO!! Você será automaticamente desconectado em: " &LogonHora
'verifica se o tempo e permitido
Do While Now < LogonHora
WScript.Sleep 300
cont = cont + 1
'vai apresentar a mensagem exibida abaixo sempre que cont = 1500
do while cont = 1500
WScript.Echo "ATENÇÃO!!! VOCÊ SERÁ AUTOMATICAMENTE DESCONECTADO EM " &LogonHora
cont = 0
Loop
Loop
WshShell.Run("%windir%\system32\logoff.exe")
Repita os passos para criar a BAT Goto.bat no diretório C:\Documents and Settings\All Users\Menu Iniciar\Programas\Inicializar\Goto.bat
2. Copie o código abaixo, abra o bloco de notas, cole e salve em seguida no diretório "C:\Documents and Settings\All Users\Menu Iniciar\Programas\Inicializar" com o nome "Goto.bat":
@ECHO OFF
start /min WSCRIPT "c:\Logouttimeoff\logout.vbs"
cls
exit
Dessa forma, toda fez que os usuários fizerem logon a BAT Goto.bat será inicializada e executará de forma ocuta o script Logut.vbs
- Obs.: A BAT Goto.bat é necessário para executar de forma oculta o script Logut.vbs
Especificando
o
tempo
em
que
o
Terminal
de
Consulta
(ou
semelhante)
será
encerrado
- Abra o script “C:\Logouttimeoff\Logout.vbs” e edite as linhas 12 e 13
HoraPermitida
=
"0"
'Informe
as
HORAS
em
que
a
sessão
será
expirada
MinutoPermitido
=
"20"
'Informe
os
MINUTOS
em
que
a
sessão
será
expirada
Nesse
exemplo,
a
sessão
será
encerrada
em
20
minutos.
- Configurando na linha 28 o intervalo em que será exibida uma mensagem para o usuário informado que sua sessão será encerrada.
do
while
cont
=
1500
‘Esse
contador
foi
baseado
no
tempo
de
20
minutos;
depois
de
10
minutos
será
exibido
uma
mensagem
para
o
usuário
informado
que
sua
Sessão
será
encerrada;
Cada
vez
que
cont=150
é
o
mesmo
que
dizer
que
cont=1
minuto;
Exemplo:
se
cont=150
>
1
minuto
se
cont=300
>
2
minuto
se
cont=450
>
3
minuto
se
cont=600
>
4
minuto
se
cont=750
>
5
minuto
se
cont=900
>
6
minuto
se
cont=1050
>
7
minuto
se
cont=1200
>
7
minuto
se
cont=1350
>
9
minuto
se
cont=1500
>
10
minuto
Agora é só testar e pronto
Boa tarde amigos, poderia fazer a gentileza de corrigir o link de downloads dos arquivos?
ResponderExcluirOlá, Acir Peixoto, o post foi atualizado. Se tiver mais alguma dúvida para realizar o procedimento acima, basta postar sua dúvida ou problema aqui.
ExcluirAbraço!
Muito bom, gostei muito. Tem como modificar esse script para fazer logoff em uma determinada hora do dia?
ResponderExcluirOlá Nenay, olhe aqui uma opção para o que você precisa:
Excluirhttp://www.dicasquefunfa.com.br/2012/04/desligar-automatizado.html
Estou querendo utilizar essa opção para caso algum usuário esqueça de fazer logoff, o windows forçará o usuário a sair, para que outras pessoas não utilizem esse usuário.
ExcluirEssa outra opção até dá certo, mas porem ele vai fazer logoff até se o usuário certo estiver logado.
Tentei utilizar a GPO que faz logoff forçado quando termina o horário de logon, mas não funciona.
tive um problema com o script... ele requer uma ação do usuário... então mesmo funcionando, o usuário deve clicar ou no "ok" ou no "x" para fechar a mensagem para que o vbs funcione... OOOUUU vc pode remover essas linhas q funciona sem necessitar ação do usuário! Mas acho q seria interessante dar uma mensagem pro usuário!!! Sabem como resolver isto?
ResponderExcluirOlá Abel! Desculpa pela demora. Tente substituir a linha:
ExcluirWScript.Echo "ATENÇÃO!!! VOCÊ SERÁ AUTOMATICAMENTE DESCONECTADO EM " &LogonHora
por esse aqui:
msgbox"VOCÊ SERÁ AUTOMATICAMENTE DESCONECTADO EM " &LogonHora,vbInformation,"ATENÇÃO!!!"
Eu preciso de um script que desligue a maquina em um determinado horário.
ResponderExcluirQuando o usuário logar ele já programe a maquina para desligar as 18h por exemplo.
É o usuário que vai informar o horário que o pc será desligado ou para a máquina desligar em um determinado horário automaticamente? Se for pra desligar automaticamente, olhe aqui se essa dica lhe ajuda:
Excluirhttp://www.dicasquefunfa.com.br/2012/04/desligar-automatizado.html
Tem como eu programar para forçar o logoff do usuário, quando ele não estiver usando o PC por aproximadamente 20 minutos?
ResponderExcluirSim, vamos criar um post lhe mostrando o passo a passo. Aguarde algumas horas!
ExcluirLuciano, como prometido, segue a solução para o seu caso: http://www.dicasquefunfa.com.br/2018/05/como-forcar-o-logoff-do-usuario-quando.html
ExcluirRicardo tudo bem? Legal seu site, ajuda muito. Vc tem um script que força o logoff de todos os usuários conectados em um servidor? Obrigado.
ResponderExcluirGostaria se saber se tem um script, da seguinte forma, quando o usuario com a politica de tempo do AD ativado " exemplo ele so pode trabalhar das 8:00 as 18:00, quando der 18:01 forcar o logoff
ResponderExcluirGostaria se saber se tem um script, para fazer o lock do usuário as 18hs. " exemplo ele so pode trabalhar das 8:00 as 18:00, quando der 18:01 forcar o logoff
ResponderExcluirna verdade nao seria o logoff, seria força o bloqueio da estação
Excluir