Mengidentifikasi dan mendiagnosis masalah di Azure Virtual Desktop (klasik)

Penting

Konten ini berlaku untuk Azure Virtual Desktop (klasik), yang tidak mendukung objek Azure Resource Manager Azure Virtual Desktop. Jika Anda berusaha mengelola objek Azure Resource Manager Azure Virtual Desktop, baca artikel ini.

Azure Virtual Desktop menawarkan fitur diagnostik yang memungkinkan administrator mengidentifikasi masalah melalui integrasi tunggal. Peran Azure Virtual Desktop mencatat aktivitas diagnostik setiap kali pengguna berinteraksi dengan sistem. Setiap log berisi informasi yang relevan seperti peran Azure Virtual Desktop yang terlibat dalam transaksi, pesan kesalahan, informasi penyewa, dan informasi pengguna. Aktivitas diagnostik dibuat oleh pengguna akhir dan tindakan administratif, dan dapat dikategorikan ke dalam tiga wadah utama:

  • Aktivitas langganan umpan: pengguna akhir memicu aktivitas ini setiap kali mereka mencoba menyambungkan ke umpan mereka melalui aplikasi Microsoft Remote Desktop.
  • Aktivitas sambungan: pengguna akhir memicu aktivitas ini setiap kali mereka mencoba tersambung ke desktop atau RemoteApp melalui aplikasi Microsoft Remote Desktop.
  • Aktivitas manajemen: administrator memicu aktivitas ini setiap kali mereka melakukan operasi manajemen pada sistem, seperti membuat kumpulan host, menetapkan pengguna ke grup aplikasi, dan membuat penetapan peran.

Koneksi yang tidak mencapai Azure Virtual Desktop tidak akan muncul dalam hasil diagnostik karena layanan peran diagnostik itu sendiri adalah bagian dari Azure Virtual Desktop. Masalah koneksi Azure Virtual Desktop dapat terjadi ketika pengguna akhir mengalami masalah konektivitas jaringan.

Untuk memulai, unduh dan impor modul Azure Virtual Desktop PowerShell untuk digunakan dalam sesi PowerShell Anda, jika Anda belum melakukannya. Setelah itu, jalankan cmdlet berikut untuk masuk ke akun Anda:

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

Mendiagnosis masalah menggunakan PowerShell

Azure Virtual Desktop Diagnostics hanya menggunakan satu cmdlet PowerShell tetapi berisi banyak parameter opsional untuk membantu mempersempit dan mengisolasi masalah. Bagian berikut mencantumkan cmdlet yang dapat Anda jalankan untuk mendiagnosis masalah. Sebagian besar filter dapat diterapkan bersama-sama. Nilai yang tercantum dalam tanda kurung, seperti <tenantName>, harus diganti dengan nilai yang berlaku untuk situasi Anda.

Penting

Fitur diagnostik adalah untuk pemecahan masalah pengguna tunggal. Semua kueri yang menggunakan PowerShell harus menyertakan parameter -UserName atau -ActivityID. Untuk kemampuan pemantauan, gunakan Analitik Log. Lihat Menggunakan Analitik Log untuk fitur diagnostik untuk informasi selengkapnya tentang cara mengirim data diagnostik ke ruang kerja Anda.

Memfilter aktivitas diagnostik menurut pengguna

Parameter -UserName mengembalikan daftar aktivitas diagnostik yang dimulai oleh pengguna tertentu, seperti yang ditunjukkan dalam contoh cmdlet berikut.

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

Parameter -UserName juga dapat digabungkan dengan parameter pemfilteran opsional lainnya.

Memfilter aktivitas diagnostik menurut waktu

Anda dapat memfilter daftar aktivitas diagnostik yang dikembalikan dengan parameter -StartTime dan -EndTime. Parameter -StartTime akan mengembalikan daftar aktivitas diagnostik mulai dari tanggal tertentu, seperti yang ditunjukkan pada contoh berikut.

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

Parameter -EndTime dapat ditambahkan ke cmdlet dengan parameter -StartTime untuk menentukan periode waktu tertentu yang Anda inginkan untuk menerima hasil. Contoh cmdlet berikut akan mengembalikan daftar aktivitas diagnostik antara 1 Agustus dan 10 Agustus.

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

Parameter -StartTime dan -EndTime juga dapat dikombinasikan dengan parameter pemfilteran opsional lainnya.

Filter aktivitas diagnostik menurut jenis aktivitas

Anda juga dapat memfilter aktivitas diagnostik menurut jenis aktivitas dengan parameter -ActivityType. Cmdlet berikut akan mengembalikan daftar sambungan pengguna akhir:

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

Cmdlet berikut akan mengembalikan daftar tugas manajemen administrator:

Get-RdsDiagnosticActivities -TenantName <tenantName> -ActivityType Management

Cmdlet Get-RdsDiagnosticActivities saat ini tidak mendukung penetapan Umpan sebagai ActivityType.

Filter aktivitas diagnostik berdasarkan hasil

Anda dapat memfilter daftar aktivitas diagnostik yang dikembalikan menurut hasil dengan parameter -Outcome. Contoh cmdlet berikut akan mengembalikan daftar aktivitas diagnostik yang berhasil.

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

Contoh cmdlet berikut akan mengembalikan daftar aktivitas diagnostik yang gagal.

Get-RdsDiagnosticActivities -TenantName <tenantName> -Outcome Failure

Parameter -Outcome juga dapat digabungkan dengan parameter pemfilteran opsional lainnya.

Mengambil aktivitas diagnostik tertentu berdasarkan ID aktivitas

Parameter -ActivityId mengembalikan aktivitas diagnostik tertentu jika ada, seperti yang ditunjukkan dalam contoh cmdlet berikut.

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

Lihat pesan kesalahan untuk aktivitas yang gagal menurut ID aktivitas

Untuk melihat pesan kesalahan untuk aktivitas yang gagal, Anda harus menjalankan cmdlet dengan parameter -Detailed. Anda dapat melihat daftar kesalahan dengan menjalankan cmdlet Select-Object.

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

Ambil aktivitas diagnostik terperinci

Parameter -Detailed memberikan detail tambahan untuk setiap aktivitas diagnostik yang ditampilkan. Format untuk setiap aktivitas bervariasi tergantung pada jenis aktivitasnya. Parameter -Detailed dapat ditambahkan ke kueri Get-RdsDiagnosticActivities apa pun, seperti yang ditunjukkan pada contoh berikut.

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

Skenario kesalahan umum

Skenario kesalahan dikategorikan dalam internal ke layanan dan eksternal ke Azure Virtual Desktop.

  • Masalah Internal: menentukan skenario yang tidak dapat dimitigasi oleh administrator penyewa dan perlu diselesaikan sebagai masalah dukungan. Saat memberikan umpan balik melalui Azure Virtual Desktop Tech Community, sertakan ID aktivitas dan perkiraan kerangka waktu saat masalah terjadi.
  • Masalah Eksternal: berhubungan dengan skenario yang dapat dimitigasi oleh administrator sistem. Ini adalah eksternal untuk Azure Virtual Desktop.

Tabel berikut mencantumkan kesalahan umum yang mungkin dialami oleh admin Anda.

Catatan

Daftar ini mencakup kesalahan paling umum dan diperbarui secara teratur. Untuk memastikan Anda memiliki informasi terbaru, pastikan untuk memeriksa kembali artikel ini minimal sebulan sekali.

Kode galat manajemen eksternal

Kode numerik Kode kesalahan Solusi yang disarankan
1322 ConnectionFailedNoMappingOfSIDinAD Pengguna bukan anggota ID Microsoft Entra. Ikuti petunjuk di Pusat Administratif Direktori Aktif untuk menambahkannya.
3 UnauthorizedAccess Pengguna yang mencoba menjalankan cmdlet PowerShell administratif tidak memiliki izin untuk melakukannya atau salah mengetik nama pengguna mereka.
1000 TenantNotFound Nama penyewa yang Anda masukkan tidak cocok dengan penyewa yang ada. Tinjau nama penyewa untuk kesalahan ketik dan coba lagi.
1006 TenantCannotBeRemovedHasSessionHostPools Anda tidak dapat menghapus penyewa selama penyewa berisi objek. Hapus kumpulan host sesi terlebih dahulu, lalu coba lagi.
2000 HostPoolNotFound Nama kumpulan host yang Anda masukkan tidak cocok dengan kumpulan host yang ada. Tinjau nama kumpulan host untuk kesalahan ketik dan coba lagi.
2005 HostPoolCannotBeRemovedHasApplicationGroups Anda tidak dapat menghapus kumpulan host selama itu berisi objek. Hapus semua grup aplikasi di kumpulan host terlebih dahulu.
2004 HostPoolCannotBeRemovedHasSessionHosts Hapus semua host sesi terlebih dahulu sebelum menghapus kumpulan host sesi.
5001 SessionHostNotFound Host sesi yang Anda tanyakan mungkin sedang offline. Periksa status kumpulan host.
5008 SessionHostUserSessionsExist Anda harus mengeluarkan semua pengguna di host sesi sebelum menjalankan aktivitas pengelolaan yang Anda maksudkan.
6000 AppGroupNotFound Nama grup aplikasi yang Anda masukkan tidak cocok dengan grup aplikasi yang ada. Tinjau nama grup aplikasi untuk kesalahan ketik, lalu coba lagi.
6022 RemoteAppNotFound Nama RemoteApp yang Anda masukkan tidak cocok dengan aplikasi apa pun. Tinjau nama RemoteApp untuk kesalahan ketik dan coba lagi.
6010 PublishedItemsExist Nama sumber daya yang Anda coba publikasikan sama dengan sumber daya yang sudah ada. Ubah nama sumber daya dan coba lagi.
7002 NameNotValidWhiteSpace Jangan gunakan ruang putih pada nama.
8000 InvalidAuthorizationRoleScope Nama peran yang Anda masukkan tidak cocok dengan nama peran yang ada. Tinjau nama peran untuk memeriksa kesalahan ketik dan coba lagi.
8001 UserNotFound Nama pengguna yang Anda masukkan tidak cocok dengan nama pengguna yang ada. Tinjau nama untuk memeriksa kesalahan ketik dan coba lagi.
8005 UserNotFoundInAAD Nama pengguna yang Anda masukkan tidak cocok dengan nama pengguna yang ada. Tinjau nama untuk memeriksa kesalahan ketik dan coba lagi.
8008 TenantConsentRequired Ikuti petunjuk di sini untuk memberikan persetujuan bagi penyewa Anda.

Kode kesalahan sambungan eksternal

Kode numerik Kode kesalahan Solusi yang disarankan
-2147467259 ConnectionFailedAdErrorNoSuchMember Pengguna bukan anggota Direktori Aktif. Ikuti petunjuk di Pusat Administratif Direktori Aktif untuk menambahkannya.
-2147467259 ConnectionFailedAdTrustedRelationshipFailure Host sesi tidak tergabung dengan benar ke Direktori Aktif.
-2146233088 ConnectionFailedUserHasValidSessionButRdshIsUnhealthy Sambungan gagal karena host sesi tidak tersedia. Periksa kesehatan host sesi.
-2146233088 ConnectionFailedClientDisconnect Jika Anda sering melihat kesalahan ini, pastikan komputer pengguna tersambung ke jaringan.
-2146233088 ConnectionFailedNoHealthyRdshAvailable Sesi yang coba disambungkan oleh pengguna host tidak sehat. Debug komputer virtual.
-2146233088 ConnectionFailedUserNotAuthorized Pengguna tidak memiliki izin untuk mengakses aplikasi atau desktop yang diterbitkan. Kesalahan mungkin muncul setelah admin menghapus sumber daya yang diterbitkan. Minta pengguna untuk me-refresh umpan di aplikasi Desktop Jauh.
2 FileNotFound Aplikasi yang coba diakses pengguna salah dipasang atau diatur ke jalur yang salah.
3 InvalidCredentials Nama pengguna atau sandi yang dimasukkan pengguna tidak cocok dengan nama pengguna atau sandi yang ada. Tinjau kredensial untuk kesalahan ketik dan coba lagi.
8 ConnectionBroken Sambungan antara Klien dan Gateway atau Server terputus. Tidak ada tindakan yang diperlukan kecuali itu terjadi secara tidak terduga.
14 UnexpectedNetworkDisconnect Sambungan ke jaringan terputus. Minta pengguna untuk tersambung lagi.
24 ReverseConnectFailed Komputer virtual host tidak memiliki garis pandang langsung ke RD Gateway. Pastikan alamat IP Gateway dapat diatasi.
1322 ConnectionFailedNoMappingOfSIDinAD Pengguna bukan anggota Direktori Aktif. Ikuti petunjuk di Pusat Administratif Direktori Aktif untuk menambahkannya.

Langkah berikutnya

Untuk mempelajari lebih lanjut tentang peran dalam Azure Virtual Desktop, lihat lingkungan Azure Virtual Desktop.

Untuk melihat daftar cmdlet PowerShell yang tersedia untuk Azure Virtual Desktop, lihat referensi PowerShell.