标题: [文本处理] BAT批处理如何终止空闲时间超过1个小时的用户进程?? [打印本页]
作者: ditto 时间: 2014-1-7 17:03 标题: BAT批处理如何终止空闲时间超过1个小时的用户进程??
C:\>query user 能看到当前用户的空闲时间(第5列)
用户名 会话名 ID 状态 空闲时间 登录时间
user1 rdp-tcp#4 4 运行中 26 2014-1-7 8:19
user2 rdp-tcp#29 23 运行中 1:23 2014-1-7 8:55
user3 rdp-tcp#30 24 运行中 . 2014-1-7 8:56
user4 rdp-tcp#32 26 运行中 7 2014-1-7 8:57
其中user2的空闲时间 1:23 超过1小时,
23为第3列 ID,为用户user2的进程号,可以用命令reset session 23 终止用户user2 的进程。
-------------------------
怎么用bat处理实现以上处理,对超1小时空闲的进程终止掉?定期运行检查,对“空闲时间超1小时的(第5列含:号)”的id终止掉?
作者: apang 时间: 2014-1-7 21:06
- @echo off & setlocal enabledelayedexpansion
- for /f "delims=" %%a in ('query user^|findstr [1-9][0-9]*:[0-9][0-9].') do (
- for %%b in (%%a) do (
- if "%%b"=="运行中" echo,reset session !id!
- set "id=%%b"
- )
- )
- pause
复制代码
作者: ditto 时间: 2014-1-8 09:10
强大~
作者: DAIC 时间: 2014-1-8 09:28
回复 2# apang
我也来一个- @echo off
- for /f "tokens=3 delims= " %%a in ('query user ^| findstr :.*:') do (
- reset session %%a
- )
复制代码
作者: apang 时间: 2014-1-8 11:27
回复 4# DAIC
其实用户名有可能包含空格的,楼主所说的第5列,个人认为应该是一个未知数
作者: DAIC 时间: 2014-1-8 11:30
回复 5# apang
query user 的结果里面显示的应该NT账号的名字吧,应该没有空格。等楼主出来说明一下。
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |