Aby wylogować odłączonych użytkowników, pozostawiając bieżącego użytkownika podłączonego, skopiuj następujący kod skryptu do pliku .cmd, takiego jak „LogOffUsers.cmd”, a następnie uruchom go jako usługę o północy:
@echo off
for /f "tokens=1-7 delims=,: " %%a in ('query user ^| find /i "disc"') do logoff %%b
Skrypt działa przy użyciu polecenia query, aby znaleźć użytkowników rozłączonych, wyszukując frazę „dysk”, a następnie wylogowując się.
Jeśli zamiast tego chcesz, aby skrypt działał nieprzerwanie jako usługa, wylogowując użytkowników, gdy zostali odłączeni / nieaktywni przez pewien okres czasu, zamiast tego użyłbyś:
@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
Ten skrypt korzysta z tego samego polecenia zapytania, ale dodatkowo sprawdza część „CZASU GOTOWOŚCI” wyników, wylogowując użytkownika, jeśli czas bezczynności jest dłuższy niż 32 („GTR 32”). Ta fraza występuje dwukrotnie, ponieważ token „IDLE TIME” może występować w dwóch nieco różnych pozycjach. Następnie linia rozpoczynająca się od „wyboru” czeka 2 minuty przed ponownym wykonaniem operacji, zapętlając do początku. Możesz zwiększyć lub zmniejszyć wartość „32” w zależności od potrzeb.
Znaleziono tutaj .