現在のユーザーを接続したまま、切断されたユーザーをログアウトするには、次のスクリプトコードを "LogOffUsers.cmd"などの.cmdファイルにコピーし、深夜にサービスとして実行します。
@echo off
for /f "tokens=1-7 delims=,: " %%a in ('query user ^| find /i "disc"') do logoff %%b
スクリプトは、クエリコマンドを使用して、「ディスク」という語句を検索し、ログアウトして切断されているユーザーを検索することで機能します。
代わりに、スクリプトをサービスとして継続的に実行し、ユーザーが一定期間切断/非アクティブになったときにユーザーをログアウトさせたい場合は、代わりに次を使用します。
@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
このスクリプトは同じクエリコマンドを使用しますが、結果の "アイドル時間"部分をさらにチェックし、アイドル時間が32( "GTR 32")より大きい場合にユーザーをログオフします。「IDLE TIME」トークンは2つのわずかに異なる位置で発生する可能性があるため、このフレーズは2回発生します。次に、「choice」で始まる行は2分間待機してから、最初にループして操作を再度実行します。必要に応じて「32」の値を増減できます。
ここで見つかりました。