Jon*_*nas 9 windows-7 batch logout
我想确保人们在完成单个、特定的多用户机器上的工作后退出。目前,下一个用户只会“切换用户”并继续工作,但是让许多用户同时登录并打开程序似乎会耗尽资源。
如果用户 24 小时未处于活动状态,是否可以从计算机自动注销用户?
或者,是否可以在午夜注销当前用户以外的所有人?
计算机位于 Windows 域网络上 - 尽管我只希望自动注销适用于单台机器(而且我不是网络管理员)
.
为了在保持当前用户连接的同时注销断开连接的用户,请将以下脚本代码复制到 .cmd 文件中,例如“LogOffUsers.cmd”,然后将其作为服务在午夜运行:
@echo off
for /f "tokens=1-7 delims=,: " %%a in ('query user ^| find /i "disc"') do logoff %%b
Run Code Online (Sandbox Code Playgroud)
该脚本的工作原理是使用查询命令通过搜索短语“disc”来查找已断开连接的用户,然后将其注销。
如果您希望脚本作为服务连续运行,当用户在一段时间内断开连接/不活动时将其注销,您可以使用:
@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
Run Code Online (Sandbox Code Playgroud)
此脚本使用相同的查询命令,但另外检查结果的“空闲时间”部分,如果空闲时间大于 32(“GTR 32”),则将用户注销。该短语出现两次,因为“空闲时间”标记可能出现在两个略有不同的位置。然后以“choice”开头的行等待 2 分钟,然后通过循环到开头再次执行操作。您可以根据需要增加或减少“32”值。
在这里找到。
| 归档时间: |
|
| 查看次数: |
22246 次 |
| 最近记录: |