Dépannage de RDP


Dans certains cas, il est possible que vous ne puissiez pas vous connecter à votre instance Windows Compute Engine avec RDP. Cela peut être dû à des erreurs de configuration, à des erreurs réseau ou à une erreur du processus de démarrage.

Cette page propose des conseils et des approches pour dépanner et résoudre les problèmes RDP courants.

Vérifier que l'instance est en ligne et prête

Une fois le processus de démarrage terminé, ce qui peut prendre quelques minutes, l'état de votre instance Windows est disponible via la console série. Connectez-vous à la console série interactive ou en lecture seule pour vérifier si l'instance est prête.

  • Console série 1 (lecture seule)

    1. Ouvrez votre instance Windows à partir de la page Instances de VM dans Google Cloud Console.
    2. Cliquez sur la flèche du menu déroulant en regard de Se connecter à la console série, puis sélectionnez Port série 1, ou utilisez la commande SDK gcloud ci-dessous :

      gcloud compute connect-to-serial-port [INSTANCE_NAME] --port 1
      
    3. Vérifiez que l'instance a démarré et tenté d'exécuter des scripts de démarrage.

      Booting from Hard Disk 0...
      GCEWindowsAgent: GCE Agent Started (version x.x.x@x)
      GCEMetadataScripts: No startup scripts to run.
      
  • Console série 2 (interactive)

    1. Activez l'accès interactif sur la console série via la page Instances de VM ou via la commande SDK gcloud ci-dessous :

      gcloud compute instances add-metadata [INSTANCE_NAME]^
      --metadata=serial-port-enable=1
      
    2. Ouvrez votre instance Windows à partir de la page Instances de VM dans Google Cloud Console.

    3. Cliquez sur la flèche du menu déroulant en regard de Se connecter à la console série, puis sélectionnez Port série 2. Vous pouvez également exécuter la commande SDK gcloud suivante :

      gcloud compute connect-to-serial-port [INSTANCE_NAME] --port 2
      
    4. Vérifiez la disponibilité du processus cmd.

      Commande cmd de la console SAC disponible

Vérifier vos règles de pare-feu VPC

Google Compute Engine applique automatiquement une règle de pare-feu autorisant le trafic RDP aux nouveaux projets. Si vous avez un projet existant ou si avez modifié les configurations, il est possible que la règle de pare-feu par défaut qui autorise RDP n'ait pas été activée. Vérifiez l'activation de la règle autorisant le trafic RDP à se connecter au réseau sur lequel se trouve l'instance concernée.

Pour vérifier si la règle de pare-feu default-allow-rdp existe dans le projet, consultez la page Règles de pare-feu ou exécutez la commande SDK gcloud suivante :

gcloud compute firewall-rules list

En l'absence de règle vous pouvez en créer une nouvelle à l'aide de la commande suivante :

gcloud compute firewall-rules create allow-rdp --allow tcp:[PORT_NUMBER]

Vérifier le mot de passe de votre instance Windows

Chaque instance Windows Compute Engine doit être associée à un mot de passe local si elle ne fait pas partie d'un domaine ou si elle n'a pas été déployée à partir d'une image personnalisée. Vérifiez que vous avez défini le bon mot de passe en vous connectant à la console d'administration spéciale (SAC) de Windows via l'outil de ligne de commande gcloud ou Cloud Console.

En cas de problème de connexion, essayez de créer ou de réinitialiser le mot de passe sur l'instance Windows.

Vérifier l'adresse IP externe

Veillez à vous connecter à l'adresse IP externe qui correspond à l'instance. Affichez l'adresse IP de l'instance à partir de la page Instances de VM ou à l'aide de la commande SDK gcloud suivante :

gcloud compute instances list

Utiliser les services Bureau à distance de Windows

Si les services Bureau à distance de Windows (anciennement Terminal Services) sont installés sur votre instance, les conditions des licences d'accès client (CAL, Client Access License) s'appliquent. Avec ces CAL, les connexions RDP échoueront dans l'une des conditions suivantes :

  • Vous avez utilisé toutes vos licences disponibles.
  • Votre licence est installée, mais elle n'a pas été configurée ou activée correctement.
  • Votre période d'essai de 180 jours a expiré.

Les symptômes indiquant que vous ne disposez peut-être pas de suffisamment de licences valides incluent des messages tels que :

  • Cette session à distance a été interrompue, car aucun serveur de licences Bureau à distance n'est disponible pour fournir une licence.
  • La session à distance a été interrompue en raison d'une erreur liée à la gestion des licences sur le serveur Terminal Server.
  • La session à distance a été interrompue, car aucune licence d'accès client Bureau à distance n'est disponible pour cet ordinateur.

Si vos connexions RDP échouent, vous pouvez utiliser le commutateur admin pour vous connecter à l'instance à des fins administratives. Vous pouvez effectuer cette opération sur une machine Windows en utilisant le client Connexion Bureau à distance natif.

%systemroot%/system32/mstsc.exe /admin

Pour résoudre les problèmes liés aux connexions RDP, achetez de nouvelles licences pour votre instance. Pour plus d'informations sur les CAL, consultez la documentation Microsoft. Sinon, si les services Bureau à distance ne sont pas requis, désinstallez-les et utilisez les connexions RDP classiques.

Vérifier la configuration du système d'exploitation

Si l'environnement et les configurations de l'instance sont corrects, il se peut que le système d'exploitation de l'instance soit mal configuré. Vous pouvez utiliser la console série interactive pour vous connecter à l'instance et résoudre le problème.

Connectez-vous à l'instance via l'une des méthodes de ligne de commande disponibles et exécutez les commandes suivantes pour vous assurer que l'instance accepte les connexions :

  1. Vérifiez que le service Bureau à distance ("Remote Desktop Service") est en cours d'exécution :

    • Commande : net start | find "Remote Desktop Services"
    • Succès : Remote Desktop Service
    • Échec : ("Remote Desktop Service" n'est pas dans la sortie)
    • Solution : net start "Remote Desktop Services"
  2. Vérifiez l'activation des connexions à distance :

    • Commande : reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections
    • Succès : fDenyTSConnections REG_DWORD 0x0
    • Échec : fDenyTSConnections REG_DWORD 0x1
    • Solution : reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /f /v fDenyTSConnections /t REG_DWORD /d 0
  3. Assurez-vous que les connexions de bureau à distance sont activées au niveau du pare-feu Windows :

    • Commande : netsh advfirewall firewall show rule name="Remote Desktop - User Mode (TCP-In)"
    • Succès : Enabled:Yes, Direction: In, Profiles: Public, Grouping: Remote Desktop, LocalIP: Any, RemoteIP: Any, Protocol:TCP, LocalPort: 3389, RemotePort: Any, Edge traversal: No, Action: Allow

    • Échec : (résultats inattendus, tels que "Enabled = no")

    • Solution : netsh firewall set service remotedesktop enable

  4. Consultez le numéro de port configuré pour les connexions RDP sur l'instance distante :

    • Commande : reg query "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v PortNumber
    • Succès : PortNumber REG_DWORD [PORT NUMBER]
    • Échec : (numéro de port inattendu)
    • Solution : reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /f /v PortNumber /t REG_DWORD /d [PORT NUMBER]

  5. Assurez-vous que le compte d'utilisateur connecté dispose des autorisations de connexion à distance :

    • Commande : net localgroup "Remote Desktop Users"
    • Succès : ("target local/domain username" dans la liste obtenue)
    • Échec : ("target local/domain username" est manquant)
    • Solution : net localgroup "Remote Desktop Users" /add [DOMAIN\USERNAME]

  6. Vérifiez que la taille du MTU est inférieure à 1 460 :

    • Commande : netsh interface ipv4 show subinterfaces
    • Succès : MTU 1460, MediaSenseState 1, Bytes In 915643107, Bytes Out 681487030, Interface: Ethernet

    • Échec : (la taille du MTU dépasse 1 460)

    • Solution : netsh interface ipv4 set subinterface Ethernet mtu=1460

  7. Assurez-vous que les paramètres de protection antivirus/des points de terminaison du client permettent d'utiliser le numéro de port et les services configurés.

Utiliser le disque sur une nouvelle instance

Si les autres étapes de dépannage ne résolvent pas votre problème de connexion, vous pouvez supprimer l'instance existante et conserver votre disque persistant. Réinstallez le disque dans une nouvelle instance et effectuez une autre tentative de dépannage, ou récupérez simplement les données existantes sur le disque.

gcloud compute instances delete [INSTANCE_NAME] --keep-disks=boot
gcloud compute instances create [NEW_INSTANCE_NAME] --disk name=[DISK_NAME],boot=yes,auto-delete=no