WinXPのRDPはコンソールや2本目以降のRDPセッションにゃどと排他ににゃっていて、同時に1セッションしか操作できにゃいようににゃっている。でもちょっとごにょったらWindowsServerみたいに複数セッションにログオン出来ちゃうみたいにゃので、やってみたメモ。ユーザーの簡易切り替えが有効ににゃっている必要がある。
キモは特定Buildのtermsrv.dllらしく、
5.1.2600.2055 (xpsp_sp2_beta1.031215-1745)とかを拾ってくる必要がある。これをsystem32とsystem32\dllcacheに上書きし、
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\Licensing Core
にDWORD:EnableConcurrentSessions=1を生成すればよい。
これで2人までにゃら同時にログオンできる。3人目からは、既にログオンしてる2人に切断要求を出して、切ってもらうことににゃる。
それだとアレにゃので、グループポリシーの「ユーザーに対してリモートターミナルサービスセッションを1つに制限する」をONにして、「接続数を制限する」を増やすと、同時に3人以上がログオンできるようににゃる。Serverのように同じユーザー名で複数ログオンは今のところ出来にゃいようだが問題にゃいだろう。
ちにゃみにRDPで繋げて、さらに別ユーザー名でlocalhostにRDPして・・・と言ったことも可能。ただし、RDPで繋げて、localhostに同じユーザー名で・・・とか、local孫RDPに同じユーザー名で・・・と言ったことをすると、一瞬ハマるのでやめた方がよい。
あと、
SP2で改善された、
WinXPのバグだが、複数セッション対応にしたXPでは微妙に改善されていにゃい。例えば、コンソールからmstscでlocalhostに繋げに行くと以前のように蹴られるのでWin98互換にする必要がある。つまり
・mstsc localhost(自分RDP鯖に接続)を可能にするには複数セッション化とWin98互換設定が必要。
・mstsc localhost:port(リモートRDP鯖に接続)を可能にするには、SP2またはWin98互換設定が必要。
ということ。
どうでもいいが、DLLの置き換えにセーフモード?が必要とか書いてあるページがあるんだが、普通にコピーすれば置き換わる。心配にゃらコマンドラインから連続して書き換えればよい。
あと、
tscon 0 /dest:console
みたいにゃのがどう動くかは要実験