다음을 통해 공유


RDS 라이선싱 문제 해결 지침

가상 에이전트 사용해 보기 - 일반적인 원격 데스크톱 라이선스 문제를 신속하게 식별하고 해결하는 데 도움이 될 수 있습니다.

이 문서에 나열된 리소스는 RDS(원격 데스크톱 서비스) 라이선싱 문제를 해결하는 데 도움이 될 수 있습니다.

문제 해결 검사 목록

유예 기간

라이선스 서버가 필요하지 않은 라이선스 유예 기간은 120일입니다. 유예 기간이 끝나면 클라이언트는 RD 세션 호스트 서버에 로그온하기 전에 라이선스 서버에서 발급한 유효한 RDS CAL이 있어야 합니다. 자세한 내용은 다음 문서를 참조하세요.

컴퓨터의 현재 유예 기간은 다음 명령을 실행하여 읽을 수 있습니다.

wmic /namespace:\\root\CIMV2\TerminalServices PATH Win32_TerminalServiceSetting WHERE (__CLASS !="") CALL GetGracePeriodDays

또는 다음 PowerShell 명령을 실행하여:

$obj = gwmi -namespace "Root/CIMV2/TerminalServices" Win32_TerminalServiceSetting
$obj.GetGracePeriodDays()

유예 기간 다시 설정: 유예 기간을 120일로 다시 설정할 수 있습니다. 그러나 이 방법은 권장하지 않습니다. 대신 라이선스 팩과 함께 라이선스 서버를 구현해야 합니다.

RDSH(원격 데스크톱 세션 호스트) 서버에 구성된 라이선스 서버 및 현재 라이선스 모드 확인

이렇게 하려면 다음 PowerShell 명령을 실행합니다.

$obj = gwmi -namespace "Root/CIMV2/TerminalServices" Win32_TerminalServiceSetting
$obj.GetSpecifiedLicenseServerList()
$obj.LicensingType

LicensingMode 값

RDSH 서버에 라이선스 서버 및 라이선스 모드를 적용하는 방법에 대한 방법을 설정합니다.

다음 방법 중 하나를 사용하여 이 구성을 구현할 수 있습니다.

GUI 사용

활성화된 브로커에서 시작된 RDMS GUI를 사용하세요. 이 구성은 다음 레지스트리 값에 저장됩니다.

레지스트리 하위 키: Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\RCM\Licensing Core
레지스트리 값: LicensingMode

레지스트리 하위 키: Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TermService\Parameters\LicenseServers
레지스트리 값: SpecifiedLicenseServers

로컬 정책 사용

gpedit.msc 콘솔을 사용하여 서버에서 로컬로 다음 정책을 구성할 수 있습니다.
컴퓨터 구성 > 정책 > 관리 템플릿 > Windows 구성 요소 > 원격 데스크톱 서비스 > 원격 데스크톱 세션 호스트 > 라이선스

  • 지정된 원격 데스크톱 라이선스 서버를 사용합니다.
  • 원격 데스크톱 라이선싱 모드를 설정합니다.

이러한 값은 다음 레지스트리 값에 저장됩니다.

레지스트리 하위 키: Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services
레지스트리 값:

  • 라이선스 서버
  • 라이선스 모드

참고

이 구성은 "GUI 사용"에 언급된 구성 앞에 적용됩니다. 이는 레지스트리 값이 고려되지 않기 때문에 로컬 정책이 구성될 때 "GUI 사용" 구성이 효과가 없음을 의미합니다. 이 상황에서는 RDSM을 사용하여 라이선싱 서버 및 라이선싱 모드를 구성할 수 없습니다.

Active Directory 도메인 기반 그룹 정책 사용

이 메서드는 "로컬 정책 사용"과 유사합니다. 유일한 차이점은 이 구성이 Active Directory 도메인에 구성된 GPO를 사용하여 설정된다는 것입니다.
컴퓨터 구성 > 정책 > 관리 템플릿 > Windows 구성 요소 > 원격 데스크톱 서비스 > 원격 데스크톱 세션 호스트 > 라이선스
원격 데스크톱 라이선싱 모드 설정 정책을 구성합니다.

정책 구성은 세션 호스트 서버의 다음 레지스트리 항목에 저장됩니다.

레지스트리 하위 키: Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services
레지스트리 값:

  • 라이선스 서버
  • 라이선싱 모드

참고

  • 이 구성은 "GUI 사용"에 언급된 구성 앞에 적용됩니다. 즉, 레지스트리 값을 고려하지 않으므로 로컬 정책을 구성할 때 "GUI 사용" 구성이 적용되지 않습니다. 이 상황에서는 RDSM을 사용하여 라이선싱 서버 및 라이선싱 모드를 구성할 수 없습니다.
  • 세션 호스트 서버에서 시작된 gpedit.msc 콘솔은 이 구성에 나타나지 않습니다.

라이선스 서버에서 구성 확인

이렇게 하려면 라이선싱 서버에서 원격 데스크톱 라이선싱 관리자 콘솔을 시작한 후 다음을 수행합니다.

  • 라이선스 서버가 활성화되어 있는지 확인합니다.

  • 구성을 검토하여 범위가 올바른지 확인합니다.

  • 라이선스 서버가 "터미널 서버 라이선스 서버" 도메인 그룹에 추가되었는지 확인합니다.

  • 라이선스 서버 구성 및 라이선스 모드를 적용하는 방법을 설정합니다.

    • 두 번째 목록 항목의 단계를 사용하여 세션 호스트 서버가 보는 내용을 확인합니다. 구성 설정 방법을 확인하려면 글머리 기호 항목 3에 표시된 레지스트리 구성을 확인합니다.
    • GPO가 있는 경우 매개 변수가 서버에 설정되어 있음을 의미합니다. gpedit.msc가 구성을 표시하더라도 구성은 사용되지 않습니다.
  • 다음 명령을 실행하여 그룹 정책 개체가 적용되었는지 확인합니다.
    gpresult /H ?:\fileName.html

  • 최소 TCP 포트를 확인합니다.

    최소 TCP 포트가 열려 있는지 확인합니다. 자세한 내용은 RD 라이선싱 네트워크 포트 요구 사항을 참조하세요.

  • 이벤트 로그를 사용하여 라이선스 서버의 동작을 확인합니다.

    • 라이선스 서버에서 이벤트 뷰어를 시작합니다.
    • 애플리케이션 및 서비스 로그\Windows\TerminalServices-Licensing\Operational에 액세스합니다.
    • 다음 문서에는 RD 라이선싱 역할 서비스가 설치된 컴퓨터의 이벤트 로그에 나타날 수 있는 원격 데스크톱 서비스 이벤트 목록이 포함되어 있습니다.
      원격 데스크톱 라이선싱

일반적인 문제 및 솔루션

오류 0x80070057 60분 후에 WVD가 로그아웃됩니다.

잘못된 라이선스 및 라이선스 오류 0x80070057 인해 WVD(Windows Virtual Desktop) 사용자가 60분 후에 로그아웃됩니다.

이 문제를 해결하려면 유예 기간이 다시 설정되도록 호스트 풀을 다시 배포합니다. 이것이 유일하게 지원되는 해결 방법입니다.

Windows Server 2019 CAL이 요청되면 WINDOWS Server 2016에서 RDLS 응답이 중지됨

Windows Server 2019 CAL이 요청되면 RDLS(원격 데스크톱 라이선스 서비스)가 Windows Server 2016에서 응답을 중지합니다.

Windows Server 2016 버전 RDLS를 사용하도록 Windows Server 2019 버전 RDSH를 구성하는 것은 지원되지 않습니다. Windows Server 2016 버전 RDLS는 Windows Server 2019 RDS CAL을 발급하거나 처리할 수 없습니다. 이 문제는 RDLS 2012 R2에서 수정되었습니다. RDLS 2019에서는 발생하지 않습니다.

보고서 날짜가 원격 데스크톱 라이선스 관리자에 "알 수 없음"으로 표시됩니다.

이 문제는 업데이트 KB 4457127에서 해결되었습니다.

데이터 수집

Microsoft 지원의 지원이 필요한 경우 사용자 환경 문제에 대해 TSS를 사용하여 정보 수집에 설명된 단계에 따라 정보를 수집하는 것이 좋습니다.

필수 조건

  1. TSS는 로컬 시스템에 대한 관리자 권한이 있는 계정에서 실행해야 하며 EULA를 수락해야 합니다(EULA가 수락되면 TSS는 다시 메시지를 표시하지 않음).
  2. 로컬 컴퓨터 RemoteSigned PowerShell 실행 정책을 사용하는 것이 좋습니다.

참고

현재 PowerShell 실행 정책에서 TSS 실행을 허용하지 않는 경우 다음 작업을 수행합니다.

  • cmdletRemoteSignedPS C:\> Set-ExecutionPolicy -scope Process -ExecutionPolicy RemoteSigned 실행하여 프로세스 수준에 대한 실행 정책을 설정합니다.
  • 변경 내용이 적용되는지 확인하려면 cmdlet PS C:\> Get-ExecutionPolicy -List을 실행합니다.
  • 프로세스 수준 권한은 현재 PowerShell 세션에만 적용되므로 TSS가 실행되는 지정된 PowerShell 창이 닫히고 나면 프로세스 수준에 대한 할당된 권한도 이전에 구성된 상태로 돌아갑니다.

Microsoft 지원에 문의하기 전에 주요 정보 수집

  1. 모든 노드에서 TSS를 다운로드하고 C:\tss 폴더에서 압축을 풉니다.

  2. 관리자 권한 PowerShell 명령 프롬프트에서 C:\tss 폴더를 엽니다.

  3. 다음 cmdlet을 사용하여 클라이언트 및 서버에서 추적을 시작합니다.

    참고

    클라이언트, 세션 호스트 서버 및 라이선스 서버에서 이러한 추적을 동시에 실행합니다.

    • 클라이언트:

      TSS.ps1 -scenario Net_RDScli
      
    • 서버:

      TSS.ps1 -scenario Net_RDSsrv
      

    스크립트를 실행하는 동안 실행 정책과 관련된 많은 보안 경고가 발생하는 경우 cmdlet을 Set-ExecutionPolicy -ExecutionPolicy Bypass -force -Scope Process 실행하여 해당 경고를 무시합니다.

  4. EULA 프롬프트에 응답합니다.

  5. 녹화(비디오)를 허용하고 Y를 입력 합니다.

  6. 스크립트가 클라이언트와 서버 모두에서 "Reproduce the issue and enter 'Y' key AFTER finishing the repro"를 표시하면, 문제 재현을 시작합니다.

  7. 문제가 재현된 후 로그 수집을 완료하려면 Y를 입력합니다.

추적은 분석을 위해 Microsoft 작업 영역에 업로드할 수 있는 C:\MS_DATA 폴더의 zip 파일에 저장됩니다.

참조