WinXPのリモートデスクトップで複数ユーザーの同時接続 †
概要 †
WindowsXPのSP2で、複数ユーザの同時接続を行う予定があったのですが
セキュリティなどの事情により機能を無効にされてしまいました。
現状では接続されると、ログインしているユーザはログアウト(アカウントのロック状態)されてしまいます。
この状態だと一部のテスト環境などを複数人で使う場合に不便なため、
ここでは複数ユーザ接続が可能とするための手順を示します。
前提・注意 †
- OSの重要なDLLにパッチを当てるので、方法としてはグレーゾーンである事を理解すること
- サービスパックやWindowsUpdateによって書き換えられる事があるのでその点も注意
- Windows XP Professional SP2以降であること
- HomeEditionはリモートデスクトップ接続の許可が出来ません
- 同一ユーザの複数接続は行えません
- Windows Serverでは可能ですが、XPではパッチを当てても同一ユーザでの複数接続は行えません
- 簡易ユーザ切り替え機能が有効でないと接続不可です
- ドメインに参加している場合、強制的に簡易ユーザ切り替え機能がOFFになります
- レジストリのAllowMultipleTSSessionsを1にする事で接続が可能になりますが、ドメインに参加している場合は再起動するたびに値が0になってしまいます。
- HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon にあります。
手順 †
- Terminal Server Patch at sala sourceから Terminal Server Patch をダウンロードしてパッチを当てる。
- パッチ中にOSがエラーメッセージを表示するが無視する。
- Terminal Server Patch が再起動を要求するので再起動する。
- ファイル名を指定して実行で「gpedit.msc」を実行する。
- ローカルコンピュータポリシー → コンピュータの構成 → 管理用テンプレート → Windowsコンポーネント → ターミナルサービス内の「ターミナルサービスユーザー に対して リモートセッションを1つに制限」を「有効」にする。
- 同ターミナルサービス内の「接続数を制限する」を「有効」にし、最大接続数を指定する(最大値でよい)。
- 以上で完了。同時に複数リモートデスクトップ接続できることを確認する。
- 注意に書いたように、ドメインに参加しているPCの場合は、再起動されるたびにAllowMultipleTSSessionsを1に変更しないとならない。
- スタートアップにBATなどでレジストリを書き換えるようにすると良いでしょう。