Você pode automatizar o comando de logoff, usando algo como esse arquivo em lote (adaptado de aqui ):
@echo off
query session > c:\temp\session.txt
for /f "skip=2 tokens=2,3,4" %%i in (c:\temp\session.txt) DO if not "%%i"=="Geoff" logoff %%j
del c:\temp\session.txt
pause
Isso usa o comando sessão de consulta para obter uma lista de sessões e, em seguida, o para que o comando analise a saída, e finalmente, o comando logoff para registrar fora de outros usuários. Você desejará executar o comando query session
para verificar a saída em sua máquina.
Na minha máquina, recebo:
C:\Users\Geoff\Desktop>query session
SESSIONNAME USERNAME ID STATE TYPE DEVICE
services 0 Disc
>console Geoff 1 Active
as primeiras duas linhas são lixo, então a parte skip 2
as ignora. O nome de usuário, ID e Estado são colocados nas variáveis i, jek respectivamente. Você vai querer testá-lo e, se ele não for executado como um usuário não administrador, você pode clicar com o botão direito do mouse no arquivo em sua área de trabalho e em "Executar como administrador" ou pode criar um atalho para o arquivo em lotes e selecione Propriedades | Atalho | Avançado | Executar como administrador. De qualquer maneira, você receberá um prompt do UAC.
Finalmente, se você deseja executar o arquivo em lote sem o prompt do UAC, você pode ir para a rota mais obscura do agendador de tarefas: veja esta postagem .