[링크] 윈도우 원격접속(원격데스크톱) 동시 다중 접속하기(비공식 멀티세션 패치) (윈도우 멀티유저 멀티세션 다중접속 동시 접속)
서버가 아니라면, 기본적으로 일반 사용자용 윈도우는 원격 데스크탑 접속(mstsc) 시, 동시에 여러 유저가 접속하는 것이 막혀있지만, 원격 데스크톱 서비스 dll 파일 및 레지스트리 값 설정을 통해 다중 접속이 가능하도록 수정하는 패치가 나와있다. 마이크로소프트 정품 윈도우 라이선스 정책에는 어긋나는 사항이고, 해당 패치는 비공식적인 것이므로 사용에 주의하여야한다.
윈도우 7 사용자라면, 첫번째로 소개하는 RDP Wrapper Library를 사용하는 것을 추천한다. RDP Wrapper는 termsrv.dll 파일을 직접 수정/변경하지 않는다.
만약, 다른 사이트(missingremote.com 제공 패치, 혹은 Universal Termsrv.dll Patch 프로그램 등)에서 제공한 패치로 termsrv.dll 파일을 이미 교체한 후, Concurrent RDP Patcher를 이용해 다시 패치를 시도한다면, dll 파일 검증 오류로 패치가 불가능할 것이다. 만약 다른 방법으로 사전에 진행했던 패치 프로그램에서 "복원(unpatch, restore)" 기능도 제공한다면, 해당 프로그램에서 복원 후, Concurrent RDP Patcher를 다시 실행해보면 되고, 원복 기능이 없다면 C:\Windows\System32\termsrv.dll.bak 나 termsrv.dll.backup 파일로 백업된 파일이 있을텐데, termsrv.dll 파일의 이름을 임시로 바꾸고, termsrv.dll.bak 나 termsrv.dll.backup 파일의 파일명을 원상 복구(termsrv.dll) 해준 후, Concurrent RDP Patcher를 다시 실행해보면 패치가 가능하다.
1. [윈도우 7] RDP Wrapper (추천. 단일 계정 다중 접속도 가능, termsrv.dll 파일을 직접 변경하지 않는 방식)
- GitHub :: RDP Wrapper Library v1.6: https://github.com/binarymaster/rdpwrap/releases
- Windows 7 원격 데스크톱 멀티 세션이 작동하지 않을 때: http://widelake.net/529
(해당글에서 2015년 3월에 갱신된 부분, RDP Wrapper 부분만 적용하면 된다.)
2. [윈도우 7] Concurrent RPD Patcher (하나의 계정으로 다중 접속이 가능하고, 패치 방식이 간편한 실행 파일 형태로 제공된다)
- http://xsylphid.egloos.com/viewer/5744326
- https://www.raymond.cc/blog/enable-remote-desktop-connection-in-windows-7-home-premium/
- http://techjam.gr/2012/os-tricks/enable-multiple-remote-desktop-user-logins-windows-7/ (글 하단 PATCH2 를 보면, Concurrent RPD Patcher가 링크되어있다)
- Windows7 원격데스크톱 2인 이상 동시 접속 프로그램/터미널 서비스 세션에 시간 제한: http://yearningsoul.tistory.com/812
3. [윈도우 7] 윈도우 서버 처럼, 하나의 계정으로도 동시 다중 접속이 가능한 패치(단, 직접 dll 파일을 바꿔줘야해서 적용 방법이 조금은 불편하다. mstsc /admin 명령 접속까지도 지원한다고 함)
- http://www.missingremote.com/guide/how-enable-concurrent-sessions-windows-7-service-pack-1-rtm
- http://www.rockia.com/2009/11/enable-multiple-concurrent-users-in-remote-desktop-on-windows-7 (윈도우 7 구 버전(빌드 7600) 용으로, SP1이 설치된 Windows 7에서는 사용이 안되는 것 같다)
- http://www.rockia.com/2011/02/concurrent-user-session-with-windows-7-sp1 (윈도우 7 SP1 , Build 7601 용)
- windows7 원격 데스크탑 멀티 유저 로그인 (Service Pack1): http://cafe.naver.com/window7/205027
- windows7 원격 데스크탑 멀티 유저 로그인 (멀티세션): http://breath91.tistory.com/134
4. [윈도우 7] 다중 접속은 가능하지만, 계정당 하나의 연결만 가능한 패치(계정당 동시 로그인 세션은 1개만 허용, 계정을 여러개 만들어서 다중 접속은 가능)
- 원격 데스크톱 멀티세션 패치: http://snoopybox.co.kr/1622
- http://deepxw.blogspot.com/2009/04/universal-termsrvdll-patch.html
5. [윈도우 XP] 각각의 계정으로 다중 접속하기(하나의 계정으로 하나의 연결만 가능. 윈도우 XP 용)
- 원격 데스크탑 무제한 동시 연결하기: http://offree.net/entry/Concurrent-Connect-Patch-for-RDP?category=30, http://qaos.com/article.php?sid=2723
참고로, 윈도우 7에서 termsrv.dll.bak나 termsrv.dll.backup 원본 파일이 존재하여, termsrv.dll과 파일명을 바꾸기 위해서는, 해당 파일에 대한 권한을 획득하고 터미널 서비스를 중단하기 위해 아래 cmd에서 명령어를 입력해야한다.
(1. 명령창 실행) 윈도우 시작 버튼 → 프로그램 및 파일 검색란에 cmd.exe 입력 → 검색 결과 나온 cmd.exe 마우스 오른쪽 버튼 클릭 → 관리자 권한으로 실행
(2. 권한 획득) takeown /a /f %SystemRoot%\System32\termsrv.dll
(3. 권한 획득) ICACLS %SystemRoot%\System32\termsrv.dll /Grant "%USERNAME%":F
(4. 권한 획득) ICACLS %SystemRoot%\System32\termsrv.dll /Grant administrators:F
(5. 터미널 서비스 중단) NET stop TermService /y
(6. 파일명 변경) ren %SystemRoot%\System32\termsrv.dll %SystemRoot%\System32\[변경할 파일명]
(7. 파일명 변경) ren %SystemRoot%\System32\[termsrv.dll_원본백업파일명] %SystemRoot%\System32\termsrv.dll
(8. 터미널 서비스 실행) NET start TermService
윈도우 XP에서는 %SystemRoot%\ServicePackFiles\i386, %SystemRoot%\system32\dllcache, %SystemRoot%\system32 에 있는 파일명을 순서대로 변경한 후, 다시 해당 디렉토리(폴더) 순서대로 변경할 파일을 복사해주면 된다고 한다.
(참고 링크: QAOS.com [WinXP] 시스템파일 보호기능 쉽게 우회하기 - http://qaos.com/article.php?sid=1489)
* 관련글
- 원격 데스크톱 접속 중 Ctrl-Alt-Del (작업관리자) 실행하기, 원격 데스크톱으로 파일 주고받기(디스크 공유), 원격 데스크톱에서 프린트하기, 클립보드 공유하기(원격으로 복사, 붙여넣기 지원): http://hallang.tistory.com/399
- [링크] 원격 데스크톱 서비스 포트 변경하기: http://hallang.tistory.com/398
- [윈XP] 네트워크 수준 인증이 원격 컴퓨터에 필요하다는 오류 발생 시 (윈도우XP에서 윈도우7, 비스타, 윈도우 8 등으로 원격 접속 시도 시 NLA 오류): http://hallang.tistory.com/369
- QAOS.com [WinXP] 시스템파일 보호기능 쉽게 우회하기 - http://qaos.com/article.php?sid=1489