Condividi tramite


Identificare e diagnosticare i problemi in Azure Virtual Desktop (versione classica)

Importante

Questo contenuto si applica ad Azure Virtual Desktop (classico), che non supporta gli oggetti di Azure Virtual Desktop di Azure Resource Manager. Se stai cercando di gestire gli oggetti di Azure Virtual Desktop di Azure Resource Manager, vedere questo articolo.

Desktop virtuale Azure offre una funzionalità di diagnostica che consente all'amministratore di identificare i problemi tramite una singola interfaccia. I ruoli di Desktop virtuale Azure registrano un'attività di diagnostica ogni volta che un utente interagisce con il sistema. Ogni log contiene informazioni rilevanti, ad esempio i ruoli di Desktop virtuale Azure coinvolti nella transazione, nei messaggi di errore, nelle informazioni sul tenant e nelle informazioni utente. Le attività di diagnostica vengono create sia dall'utente finale che dalle azioni amministrative e possono essere suddivise in tre bucket principali:

  • Attività di sottoscrizione feed: l'utente finale attiva queste attività ogni volta che tenta di connettersi al feed tramite applicazioni Microsoft Remote Desktop.
  • Attività di connessione: l'utente finale attiva queste attività ogni volta che tentano di connettersi a un desktop o a RemoteApp tramite applicazioni Desktop remoto Microsoft.
  • Attività di gestione: l'amministratore attiva queste attività ogni volta che eseguono operazioni di gestione nel sistema, ad esempio la creazione di pool di host, l'assegnazione di utenti ai gruppi di applicazioni e la creazione di assegnazioni di ruolo.

Le connessioni che non raggiungono Azure Virtual Desktop non verranno visualizzate nei risultati diagnostici perché il ruolo di servizio diagnostico stesso fa parte di Azure Virtual Desktop. I problemi di connessione di Desktop virtuale Azure possono verificarsi quando l'utente finale riscontra problemi di connettività di rete.

Per iniziare, scarica e importa il modulo Azure Virtual Desktop PowerShell da utilizzare nella sessione di PowerShell se non lo hai già fatto. Eseguire quindi il cmdlet seguente per accedere all'account:

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

Diagnosticare i problemi con PowerShell

La diagnostica di Azure Virtual Desktop utilizza un solo cmdlet di PowerShell, ma contiene molti parametri facoltativi per restringere e isolare eventuali problemi. Le sezioni seguenti elencano i cmdlet che è possibile eseguire per diagnosticare i problemi. La maggior parte dei filtri può essere applicata insieme. I valori elencati tra parentesi quadre, ad esempio <tenantName>, devono essere sostituiti con i valori applicabili alla situazione.

Importante

La funzionalità di diagnostica è per la risoluzione dei problemi relativi a un singolo utente. Tutte le query che usano PowerShell devono includere i parametri -UserName o -ActivityID. Per le funzionalità di monitoraggio, usare Log Analytics. Per altre informazioni su come inviare dati di diagnostica all'area di lavoro, vedere Usare Log Analytics per la funzionalità di diagnostica.

Filtrare le attività di diagnostica in base all'utente

Il parametro -UserName restituisce un elenco di attività di diagnostica avviate dall'utente specificato, come illustrato nel cmdlet di esempio seguente.

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

Il parametro -UserName può anche essere combinato con altri parametri di filtro facoltativi.

Filtrare le attività di diagnostica in base al tempo

È possibile filtrare l'elenco di attività diagnostica restituito con i parametri -StartTime e -EndTime. Il parametro -StartTime restituirà un elenco di attività di diagnostica a partire da una data specifica, come illustrato nell'esempio seguente.

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

Il parametro -EndTime può essere aggiunto a un cmdlet con il parametro -StartTime per specificare un periodo di tempo specifico per cui si desidera ricevere i risultati. Il cmdlet di esempio seguente restituirà un elenco di attività di diagnostica comprese tra il 1° agosto e il 10 agosto.

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

I parametri -StartTime e -EndTime possono essere combinati anche con altri parametri di filtro facoltativi.

Filtrare le attività di diagnostica in base al tipo di attività

È anche possibile filtrare le attività di diagnostica in base al tipo di attività con il parametro -ActivityType. Il cmdlet seguente restituirà un elenco di connessioni dell'utente finale:

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

Il cmdlet seguente restituirà un elenco di attività di gestione dell'amministratore:

Get-RdsDiagnosticActivities -TenantName <tenantName> -ActivityType Management

Il cmdlet Get-RdsDiagnosticActivities al momento non supporta la possibilità di specificare Feed come tipo di attività (ActivityType).

Filtrare le attività di diagnostica in base al risultato

È possibile filtrare l'elenco di attività di diagnostica restituito in base al risultato con il parametro -Outcome. Il cmdlet di esempio seguente restituirà un elenco di attività di diagnostica riuscite.

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

Il cmdlet di esempio seguente restituirà un elenco di attività di diagnostica non riuscite.

Get-RdsDiagnosticActivities -TenantName <tenantName> -Outcome Failure

Il parametro -Outcome può essere combinato anche con altri parametri di filtro facoltativi.

Recupera un'attività diagnostica specifica tramite l'ID dell'attività

Il parametro -ActivityId restituisce un'attività di diagnostica specifica, se esistente, come illustrato nel cmdlet di esempio seguente.

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

Visualizzare i messaggi di errore per un'attività non riuscita in base all'ID attività

Per visualizzare i messaggi di errore per un'attività non riuscita, è necessario eseguire il cmdlet con il parametro -Detailed. È possibile visualizzare l'elenco degli errori eseguendo il cmdlet Select-Object.

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

Recuperare attività di diagnostica dettagliate

Il parametro -Detailed fornisce dettagli aggiuntivi per ogni attività di diagnostica restituita. Il formato per ogni attività varia a seconda del tipo di attività. Il parametro -Detailed può essere aggiunto a qualsiasi query Get-RdsDiagnosticActivities, come illustrato nell'esempio seguente.

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

Scenari di errore comuni

Gli scenari di errore vengono classificati internamente al servizio ed esterni a Desktop virtuale Azure.

  • Problema interno: specifica gli scenari che non possono essere mitigati dall'amministratore tenant e devono essere risolti come problema di supporto. Quando si forniscono commenti e suggerimenti tramite Azure Virtual Desktop Tech Community, includere l'ID attività e l'intervallo di tempo approssimativo di quando si è verificato il problema.
  • Problema esterno: si riferisce a scenari che possono essere mitigati dall'amministratore di sistema. Questi sono esterni a Desktop virtuale Azure.

La tabella seguente elenca gli errori comuni che i vostri amministratori potrebbero incontrare.

Nota

Questo elenco include gli errori più comuni e viene aggiornato a cadenza regolare. Per assicurarsi di avere le informazioni più up-to-date, assicurarsi di tornare a questo articolo almeno una volta al mese.

Codici di errore per la gestione esterna

Codice numerico Codice di errore Soluzione suggerita
1322 ConnessioneFallitaNessunaMappaturaDiSIDinAD L'utente non è membro di Microsoft Entra ID. Segui le istruzioni nel Centro di Amministrazione di Active Directory per aggiungerle.
3 Accesso non autorizzato L'utente che ha tentato di eseguire il cmdlet amministrativo di PowerShell non dispone delle autorizzazioni necessarie o ha digitato erroneamente il proprio nome utente.
1000 Inquilino non trovato Il nome del tenant immesso non corrisponde ad alcun tenant esistente. Controllare il nome del tenant per errori di digitazione e riprovare.
1006 Il tenant non può essere rimosso poiché ha pool di host di sessione Non è possibile eliminare un tenant purché contenga oggetti. Eliminare prima i pool di host di sessione, quindi riprovare.
2000 HostPoolNotFound Il nome del pool di host immesso non corrisponde ad alcun pool di host esistente. Esaminare il nome del pool di host per eventuali errori di battitura e riprovare.
2005 Il 'pool host' non può essere rimosso poiché contiene gruppi di applicazioni. Non è possibile eliminare un pool di host purché contenga oggetti. Rimuovere prima tutti i gruppi di applicazioni nel pool di host.
2004 Impossibile rimuovere il pool di host: ci sono host di sessione attivi Rimuovere tutti gli host di sessioni prima di eliminare il pool di host di sessione.
5001 Host della sessione non trovato L'host di sessione che hai richiesto potrebbe essere offline. Controllare lo stato del pool di host.
5008 SessioniUtenteEsistentiSulHostDiSessione È necessario disconnettere tutti gli utenti nell'host di sessione prima di eseguire l'attività di gestione prevista.
6.000 GruppoAppNonTrovato Il nome del gruppo di applicazioni immesso non corrisponde ad alcun gruppo di applicazioni esistente. Esaminare il nome del gruppo di applicazioni per gli errori di digitazioni e riprovare.
6022 RemoteAppNonTrovata Il nome di RemoteApp immesso non corrisponde ad alcuna applicazione. Esaminare il nome di RemoteApp per errori di battitura e riprovare.
6010 ArticoliPubblicatiEsistono Il nome della risorsa che si sta tentando di pubblicare è uguale a una risorsa già esistente. Modificare il nome della risorsa e riprovare.
7002 NameNotValidWhiteSpace Non usare spazi vuoti nel nome.
8000 AmbitoRuoloAutorizzazioneNonValido Il nome del ruolo immesso non corrisponde ad alcun nome di ruolo esistente. Esaminare il nome del ruolo per gli errori di digitazioni e riprovare.
8001 UtenteNonTrovato Il nome utente immesso non corrisponde ad alcun nome utente esistente. Esamina il nome per eventuali errori di digitazione e riprova.
8005 UtenteNonTrovatoInAAD Il nome utente immesso non corrisponde ad alcun nome utente esistente. Esamina il nome per errori di digitazione e riprova.
8008 ConsensoDellInquilinoRichiesto Seguire le istruzioni qui per fornire il consenso per il tenant.

Codici di errore di connessione esterna

Codice numerico Codice di errore Soluzione suggerita
-2147467259 ErroreConnessioneFallitaNoSuchMember L'utente non è membro di Active Directory. Seguire le istruzioni in Centro di amministrazione di Active Directory per aggiungerle.
-2147467259 ConnessioneFallitaErroreRelazioneDiFiduciaAd L'host di sessione non è stato aggiunto correttamente ad Active Directory.
-2146233088 ConnessioneFallitaUtenteHaSessioneValidaMaRdshNonÈInSalute Le connessioni non sono riuscite perché l'host di sessione non è disponibile. Verificare l'integrità dell'host della sessione.
-2146233088 ConnessioneFallitaDisconnessioneClient Se viene visualizzato questo errore di frequente, assicurarsi che il computer dell'utente sia connesso alla rete.
-2146233088 ConnessioneFallitaNessunRdshSanoDisponibile L'utente host ha tentato di connettersi a una sessione che non è in uno stato ottimale. Eseguire il debug della macchina virtuale.
-2146233088 ConnessioneFallitaUtenteNonAutorizzato L'utente non dispone dell'autorizzazione per accedere all'app o al desktop pubblicato. L'errore potrebbe essere visualizzato dopo che l'amministratore ha rimosso le risorse pubblicate. Chiedere all'utente di aggiornare il feed nell'applicazione Desktop remoto.
2 FileNotFound L'applicazione a cui l'utente ha tentato di accedere non è stato installato correttamente o impostato su un percorso non corretto.
3 Credenziali non valide Il nome utente o la password immessi dall'utente non corrispondono a nomi utente o password esistenti. Esaminare le credenziali per gli errori di digitazioni e riprovare.
8 ConnessioneInterrotta La connessione tra client e gateway o server è stata eliminata. Nessuna azione necessaria a meno che non si verifichi in modo imprevisto.
14 DisconnessioneDiReteInaspettata La connessione alla rete è caduta. Chiedere all'utente di connettersi di nuovo.
24 ReverseConnectFailed La macchina virtuale host non ha visibilità diretta su Gateway RD. Verificare che l'indirizzo IP del gateway possa essere risolto.
1322 ConnectionFailedNoMappingOfSIDinAD L'utente non è membro di Active Directory. Seguire le istruzioni in Centro di amministrazione di Active Directory per aggiungerle.

Passaggi successivi

Per ulteriori informazioni sui ruoli in Azure Virtual Desktop, vedere ambiente Azure Virtual Desktop.

Per visualizzare un elenco dei cmdlet di PowerShell disponibili per Azure Virtual Desktop, consulta la documentazione di riferimento di PowerShell .