Windows Server 기반 RDS 팜 서버에 내장 RDP 클라이언트(mstsc.exe)로 접속하려 할 때 다음과 같은 오류 메시지가 표시되면서 연결에 실패하는 경우가 있습니다.
시도하려는 작업을 완료할 수 없습니다. 원격 데스크톱 서비스가 현재 사용 중입니다. 몇 분 후에 다시 시도하십시오. 다른 사용자는 계속 로그온할 수 있습니다.

이 경우 RDS 호스트 관리자는 작업 관리자의 사용자 탭에서 사용자 이름 대신 (4)로 표시되고 상태가 연결 끊김(Disconnected)인 멈춘 사용자 세션을 다수 확인할 수 있습니다.

이 문제는 Windows Server 2008 R2, 2012 R2, 2016, 2019 등 모든 버전에서 발생할 수 있습니다.
오류의 원인은 다양합니다.
- 원격 데스크톱 서비스의 동작 오류
- csrss.exe 프로세스의 버그
- 사용자 프로필 또는 profsvc 서비스 문제
- RDSH 서버의 RAM 또는 디스크 공간 부족
- 잘못된 그룹 정책 설정
안타깝게도 이 문제를 완전히 해결할 수 있는 Microsoft의 공식적인 방법은 없으며, 할 수 있는 것은 증상을 제거하는 것뿐입니다.
대부분의 경우 문제가 되는 사용자 세션을 초기화하거나 RDS 서버를 재시작하면 해결되지만, 경우에 따라 문제가 지속되기도 합니다. 가장 쉬운 방법부터 차례대로 살펴보겠습니다.
RDS 서버 리소스 확인
RAM이나 디스크 공간 부족으로 인해 문제가 발생할 수 있으므로 서버 리소스가 충분한지 먼저 확인하십시오. RAM 사용량과 운영체제가 설치된 디스크의 여유 공간(최소 1GB 이상 권장)을 점검하고, 이벤트 로그에 RDS 관련 중요 오류가 있는지도 함께 확인합니다.
모든 항목이 정상이라면 다음 단계로 넘어갑니다.
RDS에서 멈춘 클라이언트 원격 데스크톱 세션 초기화
먼저 '원격 데스크톱 서비스가 현재 사용 중입니다' 오류로 RDS 서버에 로그온하지 못하는 사용자의 세션을 찾아 초기화해 보십시오. 작업 관리자의 사용자 탭에서 해당 사용자를 찾아 마우스 오른쪽 버튼을 클릭한 후 로그오프를 선택합니다. 대부분의 경우 이것만으로 문제가 해결되지만, 때로는 사용자 이름 대신 (4)로 표시되는 여러 개의 멈춘 세션이 존재할 수 있습니다. 일반적으로 멈춘 RDS 사용자 세션에는 다음 4개의 프로세스가 실행되고 있습니다.
- Client Server Runtime Process (csrss.exe)
- Desktop Windows Manager (dwm.exe)
- Windows Logon Application (winlogon.exe)
- Windows Logon User Interface
먼저 앞서 설명한 방법대로 작업 관리자에서 멈춘 (4) RDS 세션을 모두 초기화해 보십시오. 그래도 해결되지 않으면 서버를 재부팅하는 것이 좋지만, RDS 호스트에서 다른 사용자들의 세션에 영향을 주기 때문에 재부팅이 어려운 경우가 많습니다. 따라서 재부팅 없이 문제를 해결하는 방법을 알아보겠습니다.
- 관리자 권한 명령 프롬프트를 실행하고 다음 명령을 입력합니다:
query session
이 명령은 RDS 호스트의 모든 사용자와 해당 원격 세션을 표시합니다. 출력 결과에서 필요한 3개의 열은 SESSIONNAME, USERNAME, ID입니다.(4)사용자와 해당 ID를 찾습니다. 이 예에서는 ID 2입니다. 이 세션에서 실행 중인csrss.exe프로세스를 종료해야 하므로 먼저 해당 프로세스를 찾아야 합니다.
- 앞서 확인한 세션 ID에서 실행 중인 프로세스 목록을 표시합니다:
query process /id 2
IMAGE 열에서csrss.exe프로세스와 해당 PID를 찾습니다. 이 예에서 PID는 5140입니다. 이 프로세스를 종료해야 합니다.
- 작업 관리자에서 확인합니다. 작업 관리자를 열고 세부 정보 탭으로 이동하여 이전 단계에서 확인한 PID와 프로세스를 찾습니다. 해당 PID가 csrss.exe 프로세스와 일치하면 마우스 오른쪽 버튼을 클릭해 작업 끝내기를 선택하거나 명령 프롬프트에서 다음 명령을 입력하여 프로세스를 종료합니다:
taskkill /F /PID 5140
(4)로 표시되는 사용자가 여러 명이라면 각각에 대해 동일한 작업을 수행합니다.
RDS 사용자 세션 초기화
작업 관리자에서 문제가 되는 사용자를 로그오프할 수 없는 경우, 명령 프롬프트에서 RDS 사용자 세션을 초기화해 볼 수 있습니다.
- 관리자 권한으로 명령 프롬프트를 열고 다음 명령을 실행합니다:
query session
문제가 되는 사용자의 SESSIONNAME을 복사합니다. - 다음 명령을 입력합니다:
reset session <SESSIONNAME>아래 스크린샷과 같이 <sessionname> 부분에 확인한 세션 이름을 지정합니다.
문제가 되는 각 RDS 사용자 세션에 대해 이 작업을 반복합니다. 이후 다시 로그온을 시도하면 문제가 재발하지 않을 것입니다. 서버를 재시작할 수 있는 상황이라면 재시작하는 것이 가장 확실합니다.
RDS 호스트의 라이선스 설정 확인
RDS 호스트에 지정된 라이선스 서버와 라이선스 유형(CAL Per User / CAL Per Device)이 올바른지 확인하십시오.
실제 사례로, RDSH 역할을 설치한 후 원격 데스크톱 라이선싱 역할이 있는 서버의 호스트 이름/IP 주소 지정을 잊어서 이 오류가 발생한 적이 있습니다. 이 경우 두 명의 RDP 사용자는 평소처럼 연결되었지만 세 번째 사용자에게서 이 오류가 나타났습니다.
RDS 라이선스 서버의 주소는 다음 방법으로 지정할 수 있습니다.
- RDS 컬렉션 설정에서: 작업 -> 배포 속성 편집 -> RD 라이선싱 -> 라이선스 서버 지정

- GPO에서: 지정된 원격 데스크톱 라이선스 서버 사용 (컴퓨터 구성 -> 정책 -> 관리 템플릿 -> Windows 구성 요소 -> 원격 데스크톱 서비스 -> 원격 데스크톱 세션 호스트 -> 라이선싱)

- PowerShell 사용 (원격 데스크톱 세션 호스트의 라이선스 모드가 구성되지 않은 경우 관련 문서 참조)
GPO에서 RDP 연결 수 제한 제거
그룹 정책을 사용하면 동시 RDS 연결 수를 제한할 수 있으며, 이 정책 설정은 기본적으로 비활성화되어 있습니다.
정책이 활성화되어 있는지 확인하고 gpresult를 사용하여 설정 값을 점검합니다.
- 관리자 권한 명령 프롬프트에서 다음 명령을 실행합니다:
gpresult /H c:\gpresult.html - C 드라이브 루트에 생성된 gpresult.html 파일을 엽니다. 일반적인 .html 파일이며 다른 브라우저에서는 잘못 표시될 수 있으므로 Internet Explorer에서 여는 것이 좋습니다.
- 컴퓨터 구성 -> 관리 템플릿 -> Windows 구성 요소 -> 원격 데스크톱 서비스 -> 원격 데스크톱 세션 호스트\연결 경로에서 연결 수 제한 설정을 찾거나, 페이지 검색 기능에 '연결 수 제한'을 입력합니다.
해당 정책 설정이 보이지 않으면 적용되지 않은 것이며 동시 연결 수에 제한이 없다는 뜻입니다. 정책이 활성화되어 있고 최대 연결 수가 설정되어 있다면 원하는 값으로 변경하십시오. 로컬 그룹 정책 편집기(gpedit.msc)에서 편집할 수 있고, 도메인 GPO로 설정된 경우 gpmc.msc에서 편집합니다. 변경 후에는 gpupdate /force 명령을 실행하여 새 그룹 정책 설정을 즉시 적용하는 것을 잊지 마십시오.
다른 방법이 모두 실패할 경우의 대안 솔루션
서버 리소스가 충분하고 RDP 로그에 오류가 없으며, 세션 초기화로도 문제가 해결되지 않고 RDSH 호스트를 즉시 재시작할 수 없는 상황이라면 다음 옵션들을 시도해 보십시오.
- 사용자가 새 RDP 연결을 생성하지 못하도록 막는 드레인(Drain) 모드가 비활성화되어 있는지 확인합니다:
chglogon.exe /QUERY. 명령 결과가 '새 사용자 로그온은 DISABLED, 기존 세션 재연결은 ENABLED'를 반환하면 드레인 모드를 비활성화합니다:chglogon.exe /enable
mstsc.exe클라이언트의 RDP 연결 설정에서 영구 비트맵 캐싱(Persistent bitmap caching) 옵션을 선택 해제합니다.
- 다음 명령으로 원격 데스크톱 서비스를 재시작합니다:
net stop termservice및net start termservice. 또는 PowerShell을 사용하여 원격으로 서비스를 재시작할 수 있습니다:Get-Service termservice –ComputerName mun-rdsh1 | Restart-Service - 모든 tstheme.exe 프로세스를 종료합니다.
- 사용 중인 Windows 버전에 대한 최신 업데이트를 모두 적용하는 것이 좋습니다. 표준 업데이트 도구 또는 PSWindowsUpdate PowerShell 모듈을 활용하십시오.