다음을 통해 공유


Azure Virtual Desktop(클래식)에서 문제 식별 및 진단

중요하다

이 콘텐츠는 Azure Resource Manager Azure Virtual Desktop 개체를 지원하지 않는 Azure Virtual Desktop(클래식)에 적용됩니다. Azure Resource Manager Azure Virtual Desktop 개체를 관리하려는 경우, 이 문서 를 참조하세요.

Azure Virtual Desktop은 관리자가 단일 인터페이스를 통해 문제를 식별할 수 있는 진단 기능을 제공합니다. Azure Virtual Desktop 역할은 사용자가 시스템과 상호 작용할 때마다 진단 활동을 기록합니다. 각 로그에는 트랜잭션에 관련된 Azure Virtual Desktop 역할, 오류 메시지, 테넌트 정보 및 사용자 정보와 같은 관련 정보가 포함됩니다. 진단 활동은 최종 사용자 및 관리 작업 모두에서 생성되며 다음 세 가지 주요 버킷으로 분류할 수 있습니다.

  • 피드 구독 활동: 최종 사용자는 Microsoft 원격 데스크톱 애플리케이션을 통해 피드에 연결하려고 할 때마다 이러한 활동을 트리거합니다.
  • 연결 활동: 최종 사용자는 Microsoft 원격 데스크톱 애플리케이션을 통해 데스크톱 또는 RemoteApp에 연결하려고 할 때마다 이러한 활동을 트리거합니다.
  • 관리 활동: 관리자는 호스트 풀 만들기, 애플리케이션 그룹에 사용자 할당, 역할 할당 만들기 등 시스템에서 관리 작업을 수행할 때마다 이러한 활동을 트리거합니다.

진단 역할 서비스 자체가 Azure Virtual Desktop의 일부이므로 Azure Virtual Desktop에 도달하지 않는 연결은 진단 결과에 표시되지 않습니다. Azure Virtual Desktop 연결 문제는 최종 사용자에게 네트워크 연결 문제가 발생할 때 발생할 수 있습니다.

시작하려면, 아직 하지 않았다면 PowerShell 세션에서 사용할 Azure Virtual Desktop PowerShell 모듈을 다운로드하고 가져오세요. 그런 다음 다음 cmdlet을 실행하여 계정에 로그인합니다.

Add-RdsAccount -DeploymentUrl "https://rdbroker.wvd.microsoft.com"

PowerShell 관련 문제 진단

Azure Virtual Desktop Diagnostics는 하나의 PowerShell cmdlet만 사용하지만 문제를 좁히고 격리하는 데 도움이 되는 많은 선택적 매개 변수를 포함합니다. 다음 섹션에서는 문제를 진단하기 위해 실행할 수 있는 cmdlet을 나열합니다. 대부분의 필터는 함께 적용할 수 있습니다. 대괄호(예: <tenantName>)에 나열된 값은 상황에 적용되는 값으로 바꿔야 합니다.

중요하다

진단 기능은 단일 사용자 문제 해결을 위한 것입니다. PowerShell을 사용하는 모든 쿼리에는 -UserName 또는 -ActivityID 매개 변수가 포함되어야 합니다. 모니터링 기능을 사용하려면 Log Analytics를 사용합니다. 진단 데이터를 작업 영역으로 보내는 방법에 대한 자세한 내용은 진단 기능 Log Analytics 사용을 참조하세요.

사용자별 진단 활동 필터링

-UserName 매개 변수는 다음 예제 cmdlet과 같이 지정된 사용자가 시작한 진단 활동 목록을 반환합니다.

Get-RdsDiagnosticActivities -TenantName <tenantName> -UserName <UserUPN>

-UserName 매개 변수를 다른 선택적 필터링 매개 변수와 결합할 수도 있습니다.

시간별 진단 활동 필터링

-StartTime-EndTime 매개 변수를 사용하여 반환된 진단 작업 목록을 필터링할 수 있습니다. -StartTime 매개 변수는 다음 예제와 같이 특정 날짜부터 진단 활동 목록을 반환합니다.

Get-RdsDiagnosticActivities -TenantName <tenantName> -UserName <UserUPN> -StartTime "08/01/2018"

-EndTime 매개 변수를 -StartTime 매개 변수를 사용하여 cmdlet에 추가하여 결과를 받을 특정 기간을 지정할 수 있습니다. 다음 예제 cmdlet은 8월 1일부터 8월 10일까지의 진단 활동 목록을 반환합니다.

Get-RdsDiagnosticActivities -TenantName <tenantName> -UserName <UserUPN> -StartTime "08/01/2018" -EndTime "08/10/2018"

-StartTime-EndTime 매개 변수를 다른 선택적 필터링 매개 변수와 결합할 수도 있습니다.

활동 유형별로 진단 활동 필터링

-ActivityType 매개 변수를 사용하여 활동 유형별로 진단 활동을 필터링할 수도 있습니다. 다음 cmdlet은 최종 사용자 연결 목록을 반환합니다.

Get-RdsDiagnosticActivities -TenantName <tenantName> -UserName <UserUPN> -ActivityType Connection

다음 cmdlet은 관리자 관리 작업 목록을 반환합니다.

Get-RdsDiagnosticActivities -TenantName <tenantName> -ActivityType Management

Get-RdsDiagnosticActivities cmdlet은 현재 피드를 ActivityType으로 지정하는 것을 지원하지 않습니다.

결과별 진단 활동 필터링

반환된 진단 활동 목록을 -Outcome 매개 변수를 사용하여 결과를 기준으로 필터링할 수 있습니다. 다음 예제 cmdlet은 성공적인 진단 활동 목록을 반환합니다.

Get-RdsDiagnosticActivities -TenantName <tenantName> -UserName <UserUPN> -Outcome Success

다음 예제 cmdlet은 실패한 진단 활동 목록을 반환합니다.

Get-RdsDiagnosticActivities -TenantName <tenantName> -Outcome Failure

-결과 매개 변수를 다른 선택적 필터링 매개 변수와 결합할 수도 있습니다.

활동 ID로 특정 진단 활동 검색

-ActivityId 매개 변수는 다음 예제 cmdlet과 같이 특정 진단 작업이 있는 경우 반환합니다.

Get-RdsDiagnosticActivities -TenantName <tenantName> -ActivityId <ActivityIdGuid>

활동 ID별 실패한 활동에 대한 오류 메시지 보기

실패한 작업에 대한 오류 메시지를 보려면 -Detailed 매개 변수를 사용하여 cmdlet을 실행해야 합니다. Select-Object cmdlet을 실행하여 오류 목록을 볼 수 있습니다.

Get-RdsDiagnosticActivities -TenantName <tenantname> -ActivityId <ActivityGuid> -Detailed | Select-Object -ExpandProperty Errors

자세한 진단 활동 검색

-detailed 매개 변수는 반환된 각 진단 작업에 대한 추가 세부 정보를 제공합니다. 각 활동의 형식은 해당 활동 유형에 따라 달라집니다. “모든 Get-RdsDiagnosticActivities 쿼리에 -Detailed 매개 변수를 다음 예제와 같이 추가할 수 있습니다.”

Get-RdsDiagnosticActivities -TenantName <tenantName> -ActivityId <ActivityGuid> -Detailed

일반적인 오류 시나리오

오류 시나리오는 서비스 내부 및 Azure Virtual Desktop 외부로 분류됩니다.

  • 내부 문제: 테넌트 관리자가 완화할 수 없고 지원 문제로 해결해야 하는 시나리오를 지정합니다. Azure Virtual Desktop Tech Community 통해 피드백을 제공할 때는 활동 ID와 문제가 발생한 대략적인 시간대를 포함합니다.
  • 외부 문제: 시스템 관리자가 완화할 수 있는 시나리오와 관련이 있습니다. 이러한 항목은 Azure Virtual Desktop 외부에 있습니다.

다음 표에서는 관리자가 발생할 수 있는 일반적인 오류를 나열합니다.

메모

이 목록에는 가장 일반적인 오류가 포함되며 일반 주기로 업데이트됩니다. 이 문서를 한 달에 한 번 이상 다시 확인하여 최신 up-to정보가 있는지 확인하세요.

외부 관리 오류 코드

숫자 코드 오류 코드 제안된 솔루션
1322 연결 실패: SID 매핑 안됨 (AD) 사용자가 Microsoft Entra ID의 멤버가 아닙니다. Active Directory 관리 센터 지침을 참고하여 추가합니다.
3 무단 접근 관리자 PowerShell cmdlet을 실행하려고 한 사용자는 해당 작업을 수행할 수 있는 권한이 없거나 사용자 이름을 잘못 입력했습니다.
1000 테넌트없음 입력한 테넌트 이름이 기존 테넌트 이름과 일치하지 않습니다. 오타가 있는지 임차인 이름을 확인하고 다시 시도하세요.
1006 테넌트를 제거할 수 없습니다. 세션 호스트 풀이 있습니다. 개체가 있는 한 테넌트를 삭제할 수 없습니다. 먼저 세션 호스트 풀을 삭제한 다음 다시 시도합니다.
2000 호스트 풀을 찾을 수 없습니다. 입력한 호스트 풀 이름이 기존 호스트 풀과 일치하지 않습니다. 호스트 풀 이름에 오타가 있는지 확인하고 다시 시도하세요.
2005 호스트 풀은 응용 프로그램 그룹을 보유하고 있으므로 제거할 수 없습니다. 호스트 풀에 개체가 포함되어 있으면 삭제할 수 없습니다. 먼저 호스트 풀의 모든 애플리케이션 그룹을 제거합니다.
2004 세션 호스트가 있는 호스트 풀은 제거할 수 없습니다. 세션 호스트 풀을 삭제하기 전에 먼저 모든 세션 호스트를 제거합니다.
5001 세션 호스트를 찾을 수 없음 쿼리한 세션 호스트가 오프라인일 수 있습니다. 호스트 풀의 상태를 확인합니다.
5008 세션 호스트 사용자 세션 존재 의도한 관리 작업을 실행하기 전에 세션 호스트의 모든 사용자를 로그아웃해야 합니다.
6000 앱 그룹을 찾을 수 없음 입력한 애플리케이션 그룹 이름이 기존 애플리케이션 그룹과 일치하지 않습니다. 오타에 대한 애플리케이션 그룹 이름을 검토하고 다시 시도합니다.
6022 원격 앱을 찾을 수 없음 입력한 RemoteApp 이름이 애플리케이션과 일치하지 않습니다. RemoteApp 이름을 검토하여 오타를 확인하고 다시 시도하세요.
6010 게시된 항목이 존재합니다 게시하려는 리소스의 이름은 이미 존재하는 리소스와 동일합니다. 리소스 이름을 변경하고 다시 시도합니다.
7002 NameNotValidWhiteSpace 이름에 공백을 사용하지 마세요.
8000 잘못된 권한 역할 범위 입력한 역할 이름이 기존 역할 이름과 일치하지 않습니다. 오타에 대한 역할 이름을 검토하고 다시 시도합니다.
8001 사용자를 찾을 수 없음 입력한 사용자 이름이 기존 사용자 이름과 일치하지 않습니다. 이름에 오타가 있는지 확인하고 다시 시도하십시오.
8005 AAD에서 사용자를 찾을 수 없음 입력한 사용자 이름이 기존 사용자 이름과 일치하지 않습니다. 이름에 오타가 있는지 확인하고 다시 시도하십시오.
8008 세입자 동의 필요 지침을 따라 임차인에 대한 동의를 제공합니다.

외부 연결 오류 코드

숫자 코드 오류 코드 제안된 솔루션
-2147467259 연결 실패 광고 오류: 존재하지 않는 멤버 사용자가 Active Directory의 멤버가 아닙니다. Active Directory 관리 센터의 지침을 따라 추가하세요.
-2147467259 연결 실패: AD 신뢰 관계 실패 세션 호스트가 Active Directory에 올바르게 조인되지 않았습니다.
-2146233088 연결 실패 - 사용자는 유효한 세션이 있지만 RDSH가 불안정합니다. 세션 호스트를 사용할 수 없어 연결이 실패했습니다. 세션 호스트의 상태를 확인합니다.
-2146233088 연결 실패 클라이언트 연결 끊김 이 오류가 자주 표시되는 경우 사용자의 컴퓨터가 네트워크에 연결되어 있는지 확인합니다.
-2146233088 연결 실패 - 사용 가능한 정상 상태의 Rdsh 없음 호스트 사용자가 연결하려고 시도한 세션이 정상이 아닙니다. 가상 머신을 디버그합니다.
-2146233088 연결 실패: 사용자가 인증되지 않았습니다. 사용자에게 게시된 앱 또는 데스크톱에 액세스할 수 있는 권한이 없습니다. 관리자가 게시된 리소스를 제거한 후에 오류가 나타날 수 있습니다. 사용자에게 원격 데스크톱 애플리케이션에서 피드를 새로 고치도록 요청합니다.
2 파일을 찾을 수 없음 사용자가 액세스하려고 시도한 애플리케이션이 잘못 설치되었거나 잘못된 경로로 설정되었습니다.
3 유효하지 않은 자격 증명 사용자가 입력한 사용자 이름 또는 암호가 기존 사용자 이름 또는 암호와 일치하지 않습니다. 오타에 대한 자격 증명을 검토하고 다시 시도합니다.
8 연결 끊김 클라이언트와 게이트웨이 또는 서버 간의 연결이 끊어졌습니다. 예기치 않게 발생하지 않는 한 아무 작업도 필요하지 않습니다.
14 예상치 못한 네트워크 연결 끊김 네트워크에 대한 연결이 끊어졌습니다. 사용자에게 다시 연결하도록 요청합니다.
24 역방향 연결 실패 호스트 가상 머신에는 RD 게이트웨이에 대한 직접적인 시야가 없습니다. 게이트웨이 IP 주소를 확인할 수 있는지 확인합니다.
1322 연결 실패: AD에서 SID 매핑 안 됨 사용자가 Active Directory의 멤버가 아닙니다. Active Directory 관리 센터 지침에 따라 추가하십시오.

다음 단계

Azure Virtual Desktop 내의 역할에 대한 자세한 내용은 Azure Virtual Desktop 환경참조하세요.

Azure Virtual Desktop에 사용 가능한 PowerShell cmdlet 목록을 보려면 PowerShell 참조참조하세요.