Windows Vista Business、Ultimate、Enterpriseにはリモートデスクトップサーバ機能を実装しているので、別のPC(リモートデスクトップクライアント)から遠隔ログインでき、Vista上で作業を行うことができる。でも、マルチセッションにVistaのどのバージョンも対応していないため、直接ログインしている状態で、遠隔よりリモートデスクトップログインを行うとすると、直接ログインしている人はログアウトしないといけない。Vistaはデフォルト状態だと、シングルセッションにしか対応していない。せっかくVista用にハイスペックマシンを購入したのに、同時に1人しか利用できないのは寂しい話だ。そうであれば、自宅のVistaをマルチセッションサーバにし試してみよう!
対象はService Pack 1 があたっているVista Business、Ultimate、EnterpriseのOS
(※そもそもリモートデスクトップは何ぞや?という方はネットで調べてみよう)
作業前に準備する事
バイナリエディタの用意
システムファイルのバイナリデータを書き換えるために、バイナリエディタが必要。お勧めは無料で使いやすいStirling である
リモートデスクトップのシステムファイルをバックアップを取る
C:\Windows\System32\termsrv.dllファイルをバックアップ
(※termsrv.dllがリモートデスクトップサーバ機能)
実作業
リモートデスクトップのシステムファイルをデスクトップにCOPYする
termsrv.dllはシステムファイルの為、C:\Windows\System32\termsrv.dllを直接バイナリエディタで開こうとしても権限をあたえられていないため、読み込めない。そこでデスクトップなどにCOPYして移動しておく
バイナリエディタで指定の箇所を書き換える
Stirlingを起動させファイル(F) => 開く(O)でtermsrv.dllを読み込む

検索・移動(S) => 指定アドレスへ移動(J)を選すると、16進数でアドレスを入力するボックスがでるので以下のアドレスを入力して置換していく
[検索するアドレス]: [置換前の値] => [置換する値] 0005FDF2: 74 => EB 00064FD7: 8B => B8 00064FD8: 81 => 00 00064FD9: 38 => 01 00064FDA: 06 => 00 00064FDC: 00 => 90 00064FDD: 39 => 89 00064FDF: 3C => 38 00064FE3: 75 => EB 000701BA: 01 => 00
修正したリモートデスクトップのシステムファイルを元のフォルダに上書きする
指定箇所のデータを修正した、termsrv.dllを元のフォルダに上書きしようとすると、権限がない警告により上書きができない場合がある。そのときは、Administratorでログインしtermsrv.dllにプロパティ => セキュリティ => 編集よりアクセス許可を追加してやると上書きができるようになる
確認してみよう
リモートデスクトップクライアントよりアクセスしてみる
Windows XP Profesionalなどのクライアントからモートデスクトップ接続してみると、今までシングルセッションでしかアクセスできなかった、Vistaマシンに対して、マルチセッションでログインできるようにあり画期的である
Trackback URL
http://blog.fukaoi.org/2008/06/02/windows-vista-remotedesktop?tb=y&entry_id=13
XML
