RASInsider
← Tous les articles
8 octobre 2026 / Dépannage / PowerShell & automatisation / 2 min de lecture

PowerShell sans clavier en session distante : PSReadLine

PowerShell sans clavier en session distante : PSReadLine

PowerShell sans clavier en session distante peut se produire dans certaines sessions Windows Server 2022 ouvertes depuis Royal TSX, Remote Desktop Manager ou le client HTML5 de Parallels RAS. La fenêtre est active, mais aucune frappe ne semble arriver dans PowerShell.

Le symptôme

  • Le problème apparaît dans un bureau publié ou une session RDP.
  • CMD accepte le clavier alors que PowerShell reste muet.
  • Le même serveur fonctionne normalement depuis une console locale ou une autre méthode d’accès.
  • Le problème peut être reproduit avec Royal TSX, Remote Desktop Manager et, selon le chemin utilisé, le client HTML5 RAS.

La cause la plus probable

PowerShell 5.1 charge le module PSReadLine pour gérer l’édition interactive de la ligne de commande. Sur certains chemins d’entrée RDP ou HTML5, une ancienne version de PSReadLine peut mal interpréter les événements clavier transmis par le client distant. Le symptôme est trompeur : PowerShell fonctionne, mais sa couche de lecture interactive ne reçoit plus correctement les caractères.

Le contournement immédiat

Dans la session concernée, ouvrir CMD ou une console qui accepte le clavier, lancer PowerShell, puis décharger PSReadLine :

Remove-Module PSReadLine

PowerShell revient alors à une lecture de ligne basique et les frappes redeviennent disponibles. Cette commande ne désinstalle rien et ne modifie pas la configuration permanente. Elle ne vaut que pour la session en cours.

La correction durable

Dans le cas observé sur Windows Server 2022, la machine indiquait PowerShell 5.1.20348.5622 et PSReadLine 2.0.0 chargé depuis :

C:Program FilesWindowsPowerShellModulesPSReadLine2.0.0PSReadLine.psd1

Après mise à jour vers PSReadLine 2.4.5, la saisie fonctionnait à nouveau dans les sessions Royal TSX, Remote Desktop Manager et HTML5 testées. Vérifier la version réellement chargée :

Get-Module PSReadLine -ListAvailable
Get-Module PSReadLine

Le module doit être mis à jour sur la machine qui héberge PowerShell dans la session publiée, avec les droits et la procédure de changement habituels de l’environnement. Tester d’abord sur un serveur de laboratoire, puis ouvrir une nouvelle session distante.

Pourquoi CMD continue de fonctionner

CMD ne dépend pas de PSReadLine. Il utilise une console et une boucle de lecture différentes. C’est pourquoi CMD peut accepter le clavier dans la même session où PowerShell paraît bloqué. Ce détail aide à isoler le problème : la connectivité RDP et le clavier ne sont pas nécessairement en cause ; la différence se situe dans la couche interactive de PowerShell.

Points à vérifier en production

  • Version de Windows Server et de PowerShell.
  • Version PSReadLine réellement chargée, pas seulement présente sur le disque.
  • Type de session : RDP classique, bureau publié RAS, client HTML5 ou passerelle intermédiaire.
  • Résultat après fermeture et réouverture complète de la session.
  • Présence éventuelle d’une stratégie ou d’un profil qui recharge une ancienne version.

À retenir

Si PowerShell n’accepte plus aucune frappe uniquement à distance, commencer par Remove-Module PSReadLine pour récupérer la main. Si le problème revient, contrôler la version chargée et remplacer PSReadLine 2.0.0 par une version récente validée, comme 2.4.5 dans notre laboratoire. Le comportement dépend du chemin de session et peut donc être invisible en console locale.

Pour aller plus loin, consultez le guide des logs Parallels RAS et la documentation Microsoft de Remove-Module.

Envie de voir RASInsider en priorité dans les actualités de Google ?Ajouter RASInsider comme source préférée sur Google

Cet article vous a été utile ?