Closed1

FleetManagerを使ってWindows Server2022のEC2接続時にPowershellで文字入力ができない際の対応

issyissy

発生した問題:

Fleet ManagerでWindows Server 2022接続後、PowerShellコンソールで以下の入力障害が発生します。

  • キーボードからの直接文字入力不可
  • エンターキーのみ入力可能
  • 外部からのコピー&ペーストは可能

この状態では、実行したいコマンドをテキストエディタなどであらかじめ作成し、コピー&ペーストしなければならず作業効率が大幅に低下します。

この原因と対処方法について説明します。

今回使用したAMI:

Windows_Server-2022-English-Full-Base-2025.02.13

原因:

デフォルトでインストールされている PSReadline 2.0.0 が原因です。

参考:PSReadline 2.1.0 doesn't work in the windows virtual desktop web interface #2725

確認方法:

以下のコマンドをコピー&ペーストしてPSReadlineのバージョンを確認します。

Get-Module

以下のようにバージョンが確認できます。

ModuleType Version    Name                                ExportedCommands
---------- -------    ----                                ----------------
Script     2.0.0      PSReadline                          {Get-PSReadLineKeyHandler, Get-PSReadLineOption, Remove-PSReadLineKeyHandler, Set-PSReadLineKeyH...

対処方法:

本手順を実施すると、2025/02/19時点で最新バージョンがインストールされます。
https://www.powershellgallery.com/packages/PSReadLine/2.3.6

  1. スタートメニューからWindows PowerShellを起動します。
  2. 文字入力ができないことを確認します。
  3. (文字入力ができない場合)問題が修正されているPSReadLineのバージョン2.2.2以上をインストールします。以下のコマンドをコピー&ペーストして実行します。
    Install-Module -Name PSReadLine -Repository PSGallery -MinimumVersion 2.2.2 -Force
    
  4. 開いているPowerShellコンソールを閉じて、新しく開きなおします。
  5. 以下のコマンドで新バージョンを確認します。
    Get-Module
    
    バージョンが2.0.0から2.3.6になっていればバージョンアップが完了しています。
     ModuleType Version    Name                                ExportedCommands
     ---------- -------    ----                                ----------------
     Script     2.3.6      PSReadline                          {Get-PSReadLineKeyHandler, Get-PSReadLineOption, Remove-PS...
    
  6. 最後に、文字入力ができることを確認します。
このスクラップは2025/02/27にクローズされました