Risoluzione dei problemi generali di connessione desktop remoto

Provare l'agente virtuale : consente di identificare e risolvere rapidamente i problemi comuni di connettività di Sessioni Desktop remoto

Usare questi passaggi quando un client Desktop remoto non è in grado di connettersi a un desktop remoto, ma non fornisce messaggi o altri sintomi che potrebbero aiutare a identificare la causa.

Controllare lo stato del protocollo RDP

Controllare lo stato del protocollo RDP in un computer locale

Per controllare e modificare lo stato del protocollo RDP in un computer locale, vedere Come abilitare Desktop remoto.

Nota

Se le opzioni di Desktop remoto non sono disponibili, vedere Controllare se un oggetto Criteri di gruppo blocca RDP.

Controllare lo stato del protocollo RDP in un computer remoto

Importante

In questa sezione, metodo o attività viene illustrata la procedura per modificare il Registro di sistema. Poiché l'errata modifica del Registro di sistema può causare seri problemi, Di conseguenza, attenersi scrupolosamente alla procedura indicata. Al fine di protezione, eseguire il backup del registro di sistema prima di modificarlo, in modo da poterlo ripristinare in caso di problemi. Per ulteriori informazioni su come eseguire backup e ripristino del Registro di sistema, vedere Backup e ripristino del Registro di sistema in Windows.

Per controllare e modificare lo stato del protocollo RDP in un computer remoto, usare una connessione del Registro di sistema di rete:

  1. Passare prima al menu Start e quindi selezionare Esegui. Nella casella di testo visualizzata immettere regedt32.

  2. Nella Editor Registro di sistema selezionare File e quindi Connect Network Registry (Connetti registro di rete).

  3. Nella finestra di dialogo Seleziona computer immettere il nome del computer remoto, selezionare Controlla nomi e quindi selezionare OK.

  4. Passare a HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server e a HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services.

    Screenshot della Editor registro che mostra la voce fDenyTSConnections.

    • Se il valore della chiave fDenyTSConnections è 0, RDP è abilitato.
    • Se il valore della chiave fDenyTSConnections è 1, RDP è disabilitato.
  5. Per abilitare RDP, modificare il valore di fDenyTSConnections da 1 a 0.

Controllare se un oggetto Criteri di gruppo blocca RDP in un computer locale

Se non è possibile attivare RDP nell'interfaccia utente o il valore di fDenyTSConnections torna a 1 dopo averlo modificato, un oggetto Criteri di gruppo potrebbe ignorare le impostazioni a livello di computer.

Per controllare la configurazione dei criteri di gruppo in un computer locale, aprire una finestra del prompt dei comandi come amministratore e immettere il comando seguente:

gpresult /H c:\gpresult.html

Al termine di questo comando, aprire gpresult.html. In Configurazione computer\Modelli amministrativi\Componenti di Windows\Servizi Desktop remoto\Host sessione Desktop remoto\Connections trovare il criterio Consenti agli utenti di connettersi in remoto tramite Servizi Desktop remoto.

  • Se l'impostazione per questo criterio è Abilitata, Criteri di gruppo non blocca le connessioni RDP.

  • Se l'impostazione per questo criterio è Disabilitata, selezionare Oggetti Criteri di gruppo vincenti. Si tratta dell'oggetto Criteri di gruppo che blocca le connessioni RDP.

    Screenshot di un segmento di esempio di gpresult.html in cui L'oggetto Criteri di gruppo a livello di dominio blocca RDP disabilita RDP.

    Screenshot di un segmento di esempio di gpresult.html in cui local Criteri di gruppo disabilita RDP.

Controllare se un oggetto Criteri di gruppo blocca RDP in un computer remoto

Per controllare la configurazione Criteri di gruppo in un computer remoto, il comando è quasi lo stesso di un computer locale:

gpresult /S <computer name> /H c:\gpresult-<computer name>.html

Il file prodotto da questo comando (gpresult-computer< name>.html) usa lo stesso formato informativo utilizzato dalla versione del computer locale (gpresult.html).

Modifica di un oggetto Criteri di gruppo bloccante

È possibile modificare queste impostazioni in Criteri di gruppo Object Editor (GPE) e Criteri di gruppo Management Console (GPM). Per altre informazioni su come usare Criteri di gruppo, vedere Gestione avanzata Criteri di gruppo.

Per modificare i criteri di blocco, usare uno dei metodi seguenti:

  • In Criteri di gruppo accedere al livello appropriato di oggetto Criteri di gruppo (ad esempio locale o dominio) e passare a Configurazione> computerModelli> amministrativiComponenti di Windows Host>> sessione Desktopremoto di Servizi>Desktop remotoConnections>Consentire agli utenti di connettersi in remoto tramite Servizi Desktop remoto.
    1. Impostare il criterio su Abilitato o Non configurato.
    2. Nei computer interessati aprire una finestra del prompt dei comandi come amministratore ed eseguire il gpupdate /force comando .
  • In GPM passare all'unità organizzativa in cui vengono applicati i criteri di blocco ai computer interessati ed eliminare i criteri dall'unità organizzativa.

Controllare lo stato dei servizi RDP

Sia nel computer locale (client) che nel computer remoto (di destinazione), devono essere in esecuzione i servizi seguenti:

  • Servizi Desktop remoto (TermService)
  • Reindirizzatore porta UserMode di Servizi Desktop remoto (UmRdpService)

È possibile usare lo snap-in MMC Servizi per gestire i servizi in locale o in remoto. È anche possibile usare PowerShell per gestire i servizi in locale o in remoto (se il computer remoto è configurato per accettare i cmdlet di PowerShell remoti).

Screenshot dei servizi Desktop remoto nello snap-in MMC Servizi.

In entrambi i computer, se uno o entrambi i servizi non sono in esecuzione, avviarli.

Nota

Se si avvia il servizio Servizi Desktop remoto, selezionare per riavviare automaticamente il servizio UserMode Port Redirector di Servizi Desktop remoto.

Verificare che il listener RDP funzioni

Importante

In questa sezione, metodo o attività viene illustrata la procedura per modificare il Registro di sistema. Poiché l'errata modifica del Registro di sistema può causare seri problemi, Di conseguenza, attenersi scrupolosamente alla procedura indicata. Al fine di protezione, eseguire il backup del registro di sistema prima di modificarlo, in modo da poterlo ripristinare in caso di problemi. Per ulteriori informazioni su come eseguire backup e ripristino del Registro di sistema, vedere Backup e ripristino del Registro di sistema in Windows.

Controllare lo stato del listener RDP

Per questa procedura, usare un'istanza di PowerShell con autorizzazioni amministrative. Per un computer locale, è anche possibile usare un prompt dei comandi con autorizzazioni amministrative. Tuttavia, questa procedura usa PowerShell perché gli stessi cmdlet funzionano sia in locale che in remoto.

  1. Per connettersi a un computer remoto, eseguire il cmdlet seguente:

    Enter-PSSession -ComputerName <computer name>
    
  2. Immettere qwinsta.

    Screenshot del comando qwinsta che elenca i processi in ascolto sulle porte del computer.

  3. Se l'elenco include rdp-tcp con uno stato di Listen, il listener RDP funziona. Passare a Controllare la porta del listener RDP. In caso contrario, continuare al passaggio 4.

  4. Esportare la configurazione del listener RDP da un computer funzionante.

    1. Accedere a un computer con la stessa versione del sistema operativo del computer interessato e accedere al Registro di sistema del computer, ad esempio usando il Registro di sistema Editor.

    2. Passare alla voce del Registro di sistema seguente:

      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp

    3. Esportare la voce in un .reg file. Ad esempio, in Registro di sistema Editor fare clic con il pulsante destro del mouse sulla voce, selezionare Esporta e quindi immettere un nome file per le impostazioni esportate.

    4. Copiare il file esportato .reg nel computer interessato.

  5. Per importare la configurazione del listener RDP, aprire una finestra di PowerShell con autorizzazioni amministrative nel computer interessato oppure aprire la finestra di PowerShell e connettersi al computer interessato in remoto.

    1. Per eseguire il backup della voce del Registro di sistema esistente, immettere il cmdlet seguente:

      cmd /c 'reg export "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-tcp" C:\Rdp-tcp-backup.reg'
      
    2. Per rimuovere la voce del Registro di sistema esistente, immettere i cmdlet seguenti:

      Remove-Item -path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-tcp' -Recurse -Force
      
    3. Per importare la nuova voce del Registro di sistema e quindi riavviare il servizio, immettere i cmdlet seguenti:

      cmd /c 'regedit /s c:\<filename>.reg'
      Restart-Service TermService -Force
      

      Sostituire <filename> con il nome del file esportato .reg .

  6. Testare la configurazione provando di nuovo la connessione desktop remoto. Se non è ancora possibile connettersi, riavviare il computer interessato.

  7. Se non è ancora possibile connettersi, controllare lo stato del certificato autofirma RDP.

Controllare lo stato del certificato autofirma RDP

  1. Se non è ancora possibile connettersi, aprire lo snap-in MMC Certificati. Quando viene richiesto di selezionare l'archivio certificati da gestire, selezionare Account computer e quindi selezionare il computer interessato.
  2. Nella cartella Certificati in Desktop remoto eliminare il certificato autofirmati RDP.
  3. Nel computer interessato riavviare il servizio Servizi Desktop remoto.
  4. Aggiornare lo snap-in Certificati.
  5. Se il certificato autofirmato RDP non è stato ricreato, controllare le autorizzazioni della cartella MachineKeys.

Controllare le autorizzazioni della cartella MachineKeys

  1. Nel computer interessato aprire Esplora risorse e quindi passare a C:\ProgramData\Microsoft\Crypto\RSA\.
  2. Fare clic con il pulsante destro del mouse su MachineKeys e scegliere Proprietà>Sicurezza>avanzata.
  3. Assicurarsi che siano configurate le autorizzazioni seguenti:
    • Builtin\Administrators: Controllo completo
    • Tutti: Lettura, Scrittura

Controllare la porta del listener RDP

Sia nel computer locale (client) che nel computer remoto (destinazione), il listener RDP deve essere in ascolto sulla porta 3389. Questa porta non deve essere usata da altre applicazioni.

Importante

In questa sezione, metodo o attività viene illustrata la procedura per modificare il Registro di sistema. Poiché l'errata modifica del Registro di sistema può causare seri problemi, Di conseguenza, attenersi scrupolosamente alla procedura indicata. Al fine di protezione, eseguire il backup del registro di sistema prima di modificarlo, in modo da poterlo ripristinare in caso di problemi. Per ulteriori informazioni su come eseguire backup e ripristino del Registro di sistema, vedere Backup e ripristino del Registro di sistema in Windows.

Per controllare o modificare la porta RDP, usare l'Editor del Registro di sistema:

  1. Passare al menu Start, selezionare Esegui, quindi immettere regedt32 nella casella di testo visualizzata.

    • Per connettersi a un computer remoto, selezionare File e quindi selezionare Connetti registro di rete.
    • Nella finestra di dialogo Seleziona computer immettere il nome del computer remoto, selezionare Controlla nomi e quindi selezionare OK.
  2. Aprire il Registro di sistema e passare a HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\<listener>.

    Screenshot della sottochiave PortNumber per il protocollo RDP.

  3. Se PortNumber ha un valore diverso da 3389, impostarlo su 3389.

    Importante

    È possibile usare i servizi Desktop remoto usando un'altra porta. Tuttavia, non è consigliabile eseguire questa operazione. Questo articolo non illustra come risolvere questo tipo di configurazione.

  4. Dopo aver modificato il numero di porta, riavviare il servizio Servizi Desktop remoto.

Verificare che un'altra applicazione non stia provando a usare la stessa porta

Per questa procedura, usare un'istanza di PowerShell con autorizzazioni amministrative. Per un computer locale, è anche possibile usare un prompt dei comandi con autorizzazioni amministrative. Tuttavia, questa procedura usa PowerShell perché gli stessi cmdlet funzionano in locale e in remoto.

  1. Aprire una finestra di PowerShell. Per connettersi a un computer remoto, immettere Enter-PSSession -ComputerName <computer name>.

  2. Immettere il comando seguente:

    cmd /c 'netstat -ano | find "3389"'
    

    Screenshot del comando netstat che produce un elenco di porte e dei servizi che li ascoltano.

  3. Cercare una voce per la porta TCP 3389 (o la porta RDP assegnata) con lo stato In ascolto.

    Nota

    L'identificatore di processo (PID) per il processo o il servizio che usa tale porta viene visualizzato nella colonna PID.

  4. Per determinare quale applicazione usa la porta 3389 (o la porta RDP assegnata), immettere il comando seguente:

    cmd /c 'tasklist /svc | find "<pid listening on 3389>"'
    

    Screenshot del comando tasklist che segnala i dettagli di un processo specifico.

  5. Cercare una voce per il numero PID associato alla porta (dall'output netstat ). I servizi o i processi associati a tale PID vengono visualizzati nella colonna a destra.

  6. Se un'applicazione o un servizio diverso da Servizi Desktop remoto (TermServ.exe) usa la porta, è possibile risolvere il conflitto usando uno dei metodi seguenti:

    • Configurare l'altra applicazione o servizio per l'uso di una porta diversa (scelta consigliata).
    • Disinstallare l'altra applicazione o servizio.
    • Configurare RDP per l'uso di una porta diversa e quindi riavviare il servizio Servizi Desktop remoto (scelta non consigliata).

Controllare se un firewall blocca la porta RDP

Usare lo psping strumento per verificare se è possibile raggiungere il computer interessato usando la porta 3389.

  1. Passare a un computer diverso che non è interessato e scaricare psping.

  2. Aprire una finestra del prompt dei comandi come amministratore, passare alla directory in cui è stato installato pspinge quindi immettere il comando seguente:

    psping -accepteula <computer IP>:3389
    
  3. Controllare l'output del psping comando per ottenere risultati come i seguenti:

    • Connecting to \<computer IP\>: il computer remoto è raggiungibile.
    • (0% loss): tutti i tentativi di connessione hanno avuto esito positivo.
    • The remote computer refused the network connection: il computer remoto non è raggiungibile.
    • (100% loss): tutti i tentativi di connessione non sono riusciti.
  4. Eseguire psping in più computer per testare la capacità di connettersi al computer interessato.

  5. Si noti se il computer interessato blocca le connessioni da tutti gli altri computer, da altri computer o solo da un altro computer.

  6. Passaggi successivi consigliati:

    • Engage agli amministratori di rete di verificare che la rete consenta il traffico RDP verso il computer interessato.
    • Esaminare le configurazioni di eventuali firewall tra i computer di origine e il computer interessato (incluso Windows Firewall nel computer interessato) per determinare se un firewall sta bloccando la porta RDP.