Para desconectar usuários desconectados enquanto deixa o usuário atual conectado, copie o seguinte código de script em um arquivo .cmd, como "LogOffUsers.cmd", e execute-o como um serviço à meia-noite:
@echo off
for /f "tokens=1-7 delims=,: " %%a in ('query user ^| find /i "disc"') do logoff %%b
O script funciona usando o comando de consulta para localizar usuários desconectados pesquisando a frase "disco". registrando-os.
Se você quisesse que o script fosse executado continuamente como um serviço, desconectando usuários quando eles estivessem desconectados / inativos por um determinado período de tempo, você usaria:
@echo off
:Top
for /f "tokens=1-7 delims=,: " %%a in ('query user ^| find /i "disc"') do if %%d GTR 32 (logoff %%b) else %%e GTR 32 (logoff %%b)
choice /T 120 /C 1 /D 1 /N
goto top
Este script usa o mesmo comando de consulta, mas adicionalmente verifica a porção "IDLE TIME" dos resultados, registrando o usuário desligado se o tempo inativo for maior que 32 ("GTR 32"). Essa frase ocorre duas vezes porque o token "IDLE TIME" pode ocorrer em duas posições ligeiramente diferentes. Em seguida, a linha que começa com "escolha" aguarda 2 minutos antes de executar a operação novamente por meio de um loop para o início. Você pode aumentar ou diminuir o valor "32" de acordo com suas necessidades.
Encontrado aqui .