【问题】:
终端访问经常会发生“连接超过最大数”,发生这种情况,如何进入终端界面?在不重启的情况下:
【原则】:杀掉已经存在的连接
【方法】:
所有方法的前提是你有相应的权限:(与远程服务器有相同的用户名及密码,或是域管理员)
第一步: 查看远程终端连接的信息
要想杀掉已经存在的连接,必须先知道这些连接的信息。可用的查看连接到远程终端服务器的用户
/
进程信息的方法如下,共有
3
个
dos
命令,任用一个即可:
序号
|
命令
|
说明
|
1
|
Query User
|
显示有关登录到该系统的用户的信息
|
2
|
query session
|
显示有关终端会话的信息
|
3
|
query process
|
显示有关进程的信息
|
具体说明如下:
一、
Query User
显示有关登录到该系统的用户的信息。
该命令的使用说明如下:
C:/Documents and Settings/Administrator>query user /?
显示有关登录到该系统的用户的信息。
显示有关登录到该系统的用户的信息。
QUERY USER [username | sessionname | sessionid] [/SERVER:servername]
username
标识用户名。
sessionname 用名称 sessionname 识别会话。
sessionid 用 ID sessionid 识别会话。
/SERVER:servername 要查询的服务器 ( 默认值是当前服务器 ) 。
sessionname 用名称 sessionname 识别会话。
sessionid 用 ID sessionid 识别会话。
/SERVER:servername 要查询的服务器 ( 默认值是当前服务器 ) 。
例如:我要看运程服务器
myserver(IP
地址也可以)上的用户:
C:/Documents and Settings/Administrator>query user /server:myserver
USERNAME SESSIONNAME ID STATE IDLE TIME LOGON TIME
administrator console 0 运行中 . 2006-8-24 17:16
administrator console 0 运行中 . 2006-8-24 17:16
domainadmin rdp-tcp#683 8
运行中
26 2007-9-11 9:23
domainadmin rdp-tcp#675 9 运行中 3+23:55 2007-9-21 10:32
domainadmin rdp-tcp#675 9 运行中 3+23:55 2007-9-21 10:32
二、
query session
显示有关终端会话的信息
C:/Documents and Settings/Administrator>query session /?
显示有关终端会话的信息
显示有关终端会话的信息
QUERY SESSION [sessionname | username | sessionid]
[/SERVER:servername] [/MODE] [/FLOW] [/CONNECT] [/COUNTER]
[/SERVER:servername] [/MODE] [/FLOW] [/CONNECT] [/COUNTER]
sessionname
用名称
sessionname
识别会话。
username 用用户 username 识别会话。
sessionid 用 ID sessionid 识别会话。
/SERVER:servername 要查询的服务器 ( 默认值是当前服务器 ) 。
/MODE 显示当前线路设置。
/FLOW 显示当前流程控制设置。
/CONNECT 显示当前连接设置。
/COUNTER 显示当前终端服务计数器信息。
username 用用户 username 识别会话。
sessionid 用 ID sessionid 识别会话。
/SERVER:servername 要查询的服务器 ( 默认值是当前服务器 ) 。
/MODE 显示当前线路设置。
/FLOW 显示当前流程控制设置。
/CONNECT 显示当前连接设置。
/COUNTER 显示当前终端服务计数器信息。
例如:我要看运程服务器
myserver(IP
地址也可以)上的会话信息:
C:/Documents and Settings/Administrator>query session /server:10.1.0.7
会话名 用户名 ID 状态 类型 设备
console Administrator 0 运行中 wdcon
rdp-tcp 65536 侦听 rdpwd
rdp-tcp#683 domainadmin 8 运行中 rdpwd
rdp-tcp#675 domainadmin 9 运行中 rdpwd
C:/Documents and Settings/Administrator>query session /server:10.1.0.7
会话名 用户名 ID 状态 类型 设备
console Administrator 0 运行中 wdcon
rdp-tcp 65536 侦听 rdpwd
rdp-tcp#683 domainadmin 8 运行中 rdpwd
rdp-tcp#675 domainadmin 9 运行中 rdpwd
三、
query process
C:/>query process /?
显示有关进程的信息。
QUERY PROCESS [* | processid | username | sessionname | /ID:nn | programname]
[/SERVER:servername] [/SYSTEM]
* 显示所有可见进程。
processid 显示 processid 指定的进程。
username 显示所有属于 username 的进程。
sessionname 显示所有在 sessionname 运行的进程。
/ID:nn 显示所有在会话 nn 处运行的进程。
programname 显示所有跟 programname 相关进程。
/SERVER:servername 要查询的终端服务器。
/SYSTEM 显示系统进程的进程信息。
显示有关进程的信息。
QUERY PROCESS [* | processid | username | sessionname | /ID:nn | programname]
[/SERVER:servername] [/SYSTEM]
* 显示所有可见进程。
processid 显示 processid 指定的进程。
username 显示所有属于 username 的进程。
sessionname 显示所有在 sessionname 运行的进程。
/ID:nn 显示所有在会话 nn 处运行的进程。
programname 显示所有跟 programname 相关进程。
/SERVER:servername 要查询的终端服务器。
/SYSTEM 显示系统进程的进程信息。
C:/Documents and Settings/Administrator>query process * /server:myserver
USERNAME SESSIONNAME ID PID IMAGE
( 未知 ) console 0 1928 sqlmangr.exe
( 未知 ) console 0 3628 conime.exe
USERNAME SESSIONNAME ID PID IMAGE
( 未知 ) console 0 1928 sqlmangr.exe
( 未知 ) console 0 3628 conime.exe
...
( 未知 ) id 8 8 3056 explorer.exe
( 未知 ) id 8 8 3176 bacstray.exe
( 未知 ) id 8 8 4560 vptray.exe
( 未知 ) id 8 8 3056 explorer.exe
( 未知 ) id 8 8 3176 bacstray.exe
( 未知 ) id 8 8 4560 vptray.exe
...
第二步:根据以上查询信息,中断其中一个连接
第二步:根据以上查询信息,中断其中一个连接
使用以上命令查询终端连接的信息,可以使用如下几个命令中断指定的连接。
序号
|
命令
|
说明
|
1
|
tsdiscon
|
中断终端会话的连接
|
2
|
reset session
|
将会话子系统硬件和软件复位成所知的初始数值。
|
3
|
tskill
|
结束进程
|
你可以用以下命令来中断一个连接:
一、
Tsdiscon
中断终端会话的连接
C:/>tsdiscon /?
中断终端会话的连接
TSDISCON [sessionid | sessionname] [/SERVER:servername] [/V]
sessionid 会话 ID 。
sessionname 会话名称。
/SERVER:servername 指定终端服务器 ( 默认值是当前服务器 ) 。
/V 显示有关执行的操作的信息。
中断终端会话的连接
TSDISCON [sessionid | sessionname] [/SERVER:servername] [/V]
sessionid 会话 ID 。
sessionname 会话名称。
/SERVER:servername 指定终端服务器 ( 默认值是当前服务器 ) 。
/V 显示有关执行的操作的信息。
根据以上命令查到的
sessionid | sessionname
,执行如下:
二、 reset session
二、 reset session
重置
session
C:/Documents and Settings/wangshumei>reset session /?
将会话子系统硬件和软件复位成所知的初始数值。
将会话子系统硬件和软件复位成所知的初始数值。
RESET SESSION {sessionname | sessionid} [/SERVER:servername] [/V]
sessionname
用名称
sessionname
识别会话。
sessionid 用 ID sessionid 识别会话。
/SERVER:servername 含有该会话的服务器 ( 默认值是当前值 ) 。
/V 显示其他信息。
sessionid 用 ID sessionid 识别会话。
/SERVER:servername 含有该会话的服务器 ( 默认值是当前值 ) 。
/V 显示其他信息。
例如:
C:/Documents and Settings/Administrator>reset session 9 /server:myserver /V
正在复位会话 ID 9
已复位会话 ID 9
正在复位会话 ID 9
已复位会话 ID 9
三、
tskill
结束进程
C:/>tskill /?
结束进程。
TSKILL processid | processname [/SERVER:servername] [/ID:sessionid | /A] [/V]
processid 要结束的进程的 Process ID 。
processname 要结束的进程名称。
/SERVER:servername 含有 processID 的服务器 ( 默认值是当前值 ) 。
使用进程名和 /SERVER 时,必须指定
/ID 或 /A
/ID:sessionid 结束在指定会话下运行的进程。
/A 结束在所有会话下运行的进程。
/V 显示正在执行的操作的信息。
C:/>tskill /?
结束进程。
TSKILL processid | processname [/SERVER:servername] [/ID:sessionid | /A] [/V]
processid 要结束的进程的 Process ID 。
processname 要结束的进程名称。
/SERVER:servername 含有 processID 的服务器 ( 默认值是当前值 ) 。
使用进程名和 /SERVER 时,必须指定
/ID 或 /A
/ID:sessionid 结束在指定会话下运行的进程。
/A 结束在所有会话下运行的进程。
/V 显示正在执行的操作的信息。
介绍一下其他方法,你可以用以下命令来远程重新启动系统:
C:/>tsshutdn /?
在控制方式下关闭服务器。
TSSHUTDN [wait_time] [/SERVER:servername] [/REBOOT] [/POWERDOWN]
[/DELAY:logoffdelay] [/V]
wait_time 结束所有用户会话前用户通知后
等待的秒数 ( 默认值是 60) 。
/SERVER:servername 要关闭的服务器 ( 默认值是当前值 ) 。
/REBOOT 用户会话终止后重新启动服务器。
/POWERDOWN 服务器准备关闭。
/DELAY:logoffdelay 注销所有连接的会话后要等待的
秒数 ( 默认值是 30) 。
/V 显示有关正在执行的操作的信息。
如果你有安装了 windows2000 Resource Kit 或者 windowsXp, 那么你可以用 shutdown 程序来远程关机或者重新启动一台计算机。
C:/>tsshutdn /?
在控制方式下关闭服务器。
TSSHUTDN [wait_time] [/SERVER:servername] [/REBOOT] [/POWERDOWN]
[/DELAY:logoffdelay] [/V]
wait_time 结束所有用户会话前用户通知后
等待的秒数 ( 默认值是 60) 。
/SERVER:servername 要关闭的服务器 ( 默认值是当前值 ) 。
/REBOOT 用户会话终止后重新启动服务器。
/POWERDOWN 服务器准备关闭。
/DELAY:logoffdelay 注销所有连接的会话后要等待的
秒数 ( 默认值是 30) 。
/V 显示有关正在执行的操作的信息。
如果你有安装了 windows2000 Resource Kit 或者 windowsXp, 那么你可以用 shutdown 程序来远程关机或者重新启动一台计算机。
另外,还有一些与远程终端有关的命令,不过与这个话题无关。
还有
Shadow
允许您远程控制另一用户的活动会话。可以查看或随时控制该会话。如果您选择要随时控制用户的会话,则可以在会话中输入键盘和鼠标操作。
允许您远程控制另一用户的活动会话。可以查看或随时控制该会话。如果您选择要随时控制用户的会话,则可以在会话中输入键盘和鼠标操作。
这个命令必须在对方活动的情况下,且对方接受控制的情况下,才可以控制对方的活动会话。
例如:
C:/Documents and Settings/Administrator>shadow /?
监视另一个终端服务会话。
shadow {sessionname | sessionid} [/server:servername] [/v]
参数
sessionname
要远程控制的会话的名称。
sessionid
要远程控制的会话的 ID 。使用 query user 命令显示会话及其会话 ID 的列表。
/server:servername
指定包含要远程控制的会话的终端服务器。默认情况下,使用当前终端服务器。
/v
显示关于要执行的操作的信息。
监视另一个终端服务会话。
shadow {sessionname | sessionid} [/server:servername] [/v]
参数
sessionname
要远程控制的会话的名称。
sessionid
要远程控制的会话的 ID 。使用 query user 命令显示会话及其会话 ID 的列表。
/server:servername
指定包含要远程控制的会话的终端服务器。默认情况下,使用当前终端服务器。
/v
显示关于要执行的操作的信息。