Windows10 リモートデスクトップで複数ユーザーによる同時セッション

こたつからパソコンにリモートデスクトップ接続しているとき、家族がパソコンを使いはじめる → リモートデスクトップが切れる。

これは、Windowsの仕様であり、複数のセッションを使い続けられるようにするにはWindows Serverが必要なんだと思われる。

何か方法はないものかと探してみたところ、既に当たり前のように色々なところに記事があり、最終的にはここに行き着く模様。

http://www.mysysadmintips.com/windows/clients/545-multiple-rdp-remote-desktop-sessions-in-windows-10




結論からすると、

  1. リモートデスクトップのDLLを一部改変
  2. ラッパーサービスを動かす

という手順を踏むことで、複数同時セッションが可能になる。

DLL改変はWindows Updateで元に戻る場合があり、かつ利用規約に抵触していないか心配で、あんまりやりたくない感じ。実行する場合にはいろいろな意味で覚悟を決める必要がある。


ラッパーはここにおかれていた。
https://github.com/binarymaster/rdpwrap

展開し、とりあえずinstall.batを実行、RDPConf.exeを実行して様子を見てみた。

今この状態だと、複数同時セッションは実現できない。「DLLの一部改変」をしていないから。
じゃあ、これを実行するには・・・


DLLの名前は termsrv.dll である。これ、探してみたら、こんなところに・・・。
C:\Windows\WinSxS\amd64_microsoft-windows-t..teconnectionmanager_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\termsrv.dll

フォルダの所有者は TrustedInstaller さん。他のユーザーにはアクセス制限がかかっており、何も変更ができない。

そこで、所有者を hogeuser (つまり自分) に変えて、プリンシバル(!?)に自分を追加、フルコントロール権を与える。

バイナリエディタで中身を変えて保存・・・と思ったらエラーが出た。どういうことなのかというと・・・

  • ファイルはリモートデスクトップサービスに使用されているので移動も削除もできない。
  • リモートデスクトップサービスを止めてみたが、移動も削除もできない。
  • 名前を変えても何ら変わることなく動作する。
  • 名前を変えて、新たに改変したDLLを作り、それを正規の名前にしても使われない。

という状態だった。暖簾に腕押し感がスゴい。

KNOPPIXを起動してファイルを置き換えても、結局元のDLLが使用される。

Windowsのセキュリティは強力ですね!確かに、このDLLが改変されたら大変です。

でも、このままだと何も変わらない・・・と覚悟を決めて以下を実行。

  • KNOPPIXで起動。
  • ファイルそのものを直接書き換える。

KNOPPIXにバイナリエディタがあると思ったが、見つけられなかったので、
rderaログの記事を参考にさせていただいて、vim にて改変を加える。

  • KNOPPIXで起動。
  • vi -binary termsrv.dll としてバイナリモードで開く。
  • :%!xxd でバイナリデータを見やすくする。
  • 編集する。
  • :%!xxd -r で本の表示にする。
  • :qw で保存して終了する。

とした。


どうなっちゃうのか不安 → 成功

お気軽にどうぞ ~ 投稿に関するご意見・感想・他

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です