はじめに
AWS System Managerを使ってリモートデスクトップ接続した際に、PowerShellでコマンド入力ができない問題に遭遇したことはありませんか?
特にPing確認などの基本的な操作ができないと、サーバー管理やトラブルシューティングに大きな支障をきたします。
本記事では、この問題の原因と解決方法を詳しく解説します。
発生した問題
- AWS System ManagerのFleet Manager機能からWindowsサーバー(AMI:Microsoft Windows Server 2022 Base)にリモートデスクトップ接続
- PowerShellを起動後、キーボードからの入力が一切反映されない
- コマンドが入力できないため、Ping確認などの基本的なネットワーク診断ができない
原因
調査の結果、この問題はWindows Server 2022環境において、PSReadLineモジュールのバージョンが古い(バージョン2.0.0)ことが原因であることがわかりました。
PSReadLineモジュールはPowerShellのコマンドライン編集機能を提供する重要なコンポーネントで、キーボード入力の処理、コマンド履歴の管理、シンタックスハイライトなどの機能を担当しています。バージョン2.2.2未満では、AWS System Managerのリモートデスクトップ環境と互換性がなく、キーボード入力が受け付けられない問題が発生します。
解決方法
以下の手順でPSReadLineモジュールを更新することで、問題を解決できます。
1. 管理者権限でPowerShellを起動
まず、管理者権限でPowerShellを起動します。
2. NuGetパッケージプロバイダーのインストール
PSReadLineのインストールに必要なNuGetパッケージプロバイダーをインストールします。
Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force
3. PSReadLineモジュールの更新
続いて、PSReadLineモジュールをバージョン2.2.2以上に更新します。
Install-Module `
-Name PSReadLine `
-Repository PSGallery `
-MinimumVersion 2.2.2 -Force
4. PowerShellの再起動
モジュールのインストール完了後、PowerShellを再起動すると、キーボード入力が正常に反映されるようになります。
確認方法
問題が解決したかどうかを確認するには、以下のコマンドでPSReadLineのバージョンを確認します。
Get-Module -Name PSReadLine | Select-Object Version
バージョンが2.2.2以上であれば、正常にキーボード入力が可能なはずです。
まとめ
AWS System ManagerのリモートデスクトップでPowerShellのキーボード入力が反映されない問題は、PSReadLineモジュールのバージョンを更新することで解決できます。
本記事が同様の問題に直面している方々のお役に立てれば幸いです。
参考資料