讓XP 3389支持多人登陸的方法
第二步:準備一份版本較早的SP2終端服務器軟件(據(jù)說從Build 2082開始該功能就被禁止了,所以最好使用之前版本),中文SP2測試版較難找到,我用的是英文版Build 2055,運行之后沒有發(fā)現(xiàn)任何問題。你可以從本站下載Build 2055的終端服務器執(zhí)行文件TermSrv.DLL。從這個鏈接下載來的是一個擴展名為.DL_的文件,你可以把它的擴展名改成ZIP文件,然后用WinRAR解開它。
第三步:接下來,以安全模式啟動Windows XP,如果有多個操作系統(tǒng),可以啟動另一個能訪問Windows XP系統(tǒng)分區(qū)的系統(tǒng)(除非安裝了第三方工具軟件,否則Windows 98不能訪問NTFS分區(qū),因此Windows 98可能沒用)。然后,把Windows XP里面SP2正式版的所有TermSrv.DLL備份一下,在所有TermSrv.DLL文件出現(xiàn)的位置,用Build 2055版本的TermSrv.DLL覆蓋。通常,TermSrv.DLL至少出現(xiàn)在二個位置,分別是:\Windows\system32,\Windows\system32\dllcache。凡是原來有TermSrv.DLL的地方,就用Build 2055版本的TermSrv.DLL覆蓋。
第四步:以正常模式啟動Windows XP,如果系統(tǒng)的文件保護功能提示說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,雙擊執(zhí)行一下就可以了。
我不推薦這種做法 ,太煩鎖了,而且還要讓系統(tǒng)重起過。我們可以寫一個批處理文件使系統(tǒng)不用重起就實現(xiàn)XP多用戶登陸,首先我們先來了解一個對注冊表操作的命令參數(shù):
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 數(shù)據(jù)類型
[ REG_SZ | REG_MULTI_SZ | REG_EXPAND_SZ |
REG_DWORD | REG_BINARY | REG_NONE ]
如果忽略,則采用 REG_SZ。
/s 指定一個在 REG_MULTI_SZ 數(shù)據(jù)字符串中用作分隔符的字符
如果忽略,則將 "\0" 用作分隔符。
/d 要分配給添加的注冊表 ValueName 的數(shù)據(jù)。
/f 不用提示就強行覆蓋現(xiàn)有注冊表項。
例如:
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,數(shù)據(jù): fe340ead)
REG ADD HKLM\Software\MyCo /v MRU /t REG_MULTI_SZ /d fax\0mail
添加一個值(名稱: MRU,類型: REG_MUTLI_SZ,數(shù)據(jù): fax\0mail\0\0)
REG ADD HKLM\Software\MyCo /v Path /t REG_EXPAND_SZ /d ^%systemroot^%
添加一個值(名稱: Path,類型: REG_EXPAND_SZ,數(shù)據(jù): %systemroot%)
注意: 在擴充字符串中使用插入符號 ( ^ )
為了讓系統(tǒng)不重起,我們可以用shutdown -a 這個命令。
根據(jù)上面找來的資料,我們可以編寫一個批處理,實現(xiàn)XP系統(tǒng)多用戶登陸而又不用重起系統(tǒng)。
呵呵,這個也是幾年前經(jīng)常用的東西了,看以前的博客找到的,覺得以后可能還有用,特地找出來改了改,又到XPSP3上測試了一下,能用,現(xiàn)在發(fā)上來。Slyar去掉了一些隱藏的功能,因為用不著了,哈哈~~本來說做成EXE的補丁,結果出去上了個廁所打消了這個念頭。。。
需要的到下載基地下載slyar_3389.rar,解壓后一個文件夾里面有2個文件:slyartermsrv.dll、slyar3389.bat。
恩,還是CMD下吧,先用tasklist /svc命令得到TermService的PID,然后編輯一下文件夾里的slyar3389.bat,把"pid"里的PID改成你得到的數(shù)字,保存退出。
行了,剩下的工作就是雙擊一下slyar3389.bat,完成了,mstsc連接驗證一下就OK。
是不是寫得有點少?那多寫點。。。
原理:其實很簡單了,2082以后的termsrv.dll不支持多人終端,我用2055的termsrv.dll覆蓋原來的termsrv.dll就可以了。
那個bat也沒啥,貼出來看看。
@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\slyartermsrv.dll /f
@copy slyartermsrv.dll c:\windows\system32\dllcache\slyartermsrv.dll
@attrib +h +s +r c:\windows\system32\dllcache\slyartermsrv.dll
@copy slyartermsrv.dll c:\windows\system32\slyartermsrv.dll
@attrib +h +s +r c:\windows\system32\slyartermsrv.dll
@shutdown -a
@net start termservice
稍微解釋幾個命令好了。
net stop sharedaccess
禁用XP的防火墻。
shutdown -a
因為svchost被干掉,所以會導致重啟,這個命令可以終止重啟。
ntsd -c q -p "pid"
系統(tǒng)debug級的ntsd,用來干掉進程特別爽。
版權聲明:本站文章來源標注為YINGSOO的內容版權均為本站所有,歡迎引用、轉載,請保持原文完整并注明來源及原文鏈接。禁止復制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務器上建立鏡像,否則將依法追究法律責任。本站部分內容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學習參考,不代表本站立場,如有內容涉嫌侵權,請聯(lián)系alex-e#qq.com處理。