Windows PowerShell ISE は起動時に毎回フリーズします。どうすれば診断できますか?

Windows PowerShell ISE は起動時に毎回フリーズします。どうすれば診断できますか?

PowerShell ISE (x64 または x86) を起動するたびに、次のメッセージが表示されます。

部分的にレンダリングされた ISE ウィンドウのスクリーンショット

表示されているとおりに描画され、すぐに応答しなくなります。下部の黒い部分はウィンドウの境界内にあります。

PowerShell CLI は問題なく動作します。

イベント ビューアーには、アプリを閉じようとしたときにアプリがハングしたという記録以外は何も表示されません。

GlobalUserInterface.CompositeFont解決策3の一部としてフォントをダウンロードしてみました。この問題ただし、ダウンロード リンクが壊れているようです。

この記事の投稿時点では、保留中の Windows アップデートはありません。Windows 10 Pro 21H2 を実行しています。

ここに画像の説明を入力してください

何が起こっているのかどうすれば分かりますか?


編集 (2021-01-02T03:32Z):どうやら起動に時間がかかるようです。最終的にはレンダリングされました。10分後Visual Studio 2022 が 10 秒未満で開くのであれば、PS ISE には言い訳の余地はありません。一体何が起こっているのでしょうか?

答え1

PowerShell ISE は最近使用したファイルの一覧にアクセスしようとすると遅くなり、存在しないネットワーク パスへのアクセスに繰り返し接続が失敗していました。このディレクトリを削除することで解決しました。

C:\Users\{username}\AppData\Local\Microsoft_Corporation\powershell_ise.exe_StrongName_lw2v2vm3wmtzzpebq33gybmeoxukb04w

私は、Sysinternals Process Monitor を実行し、PowerShell_ISE の PID でフィルタリングして、レンダリングが停止する前に最後に何が起こったかを調べることでこれを発見しました。最後に行われたのは、そのディレクトリ内のファイルの読み取りでした。その後、数分間「スレッド終了」が報告されました。

プロセスモニターのスクリーンショット

私はほとんどのファイルを NAS に保存していますが、何らかの理由で、マップされたネットワーク ドライブではなく、IP によって ISE で 1 つまたは 2 つのファイルを開いていました。ISE は各ファイルを解決しようとしており、タイムアウトするまでに非常に長い時間がかかっていました。

答え2

私の場合、PowerShell ISE の起動を遅くしていたのはコンソール履歴でした。これは、多数の繰り返しコマンドを含む約 2 GB のファイルでした。このファイルを削除すると、問題は解決しました。

C:\Users\{username}\AppData\Roaming\Microsoft\Windows\PowerShell\PSReadline\ConsoleHost_history.txt

前述の Sysinternals Process Monitor を使用しても、このファイルを発見しました。このファイルへのアクセスが多数表示されました。

答え3

私たちの場合、PowerShell ISE の起動が遅くなっていたのは、「Show Command アドオン」が原因でした。Show Command アドオンがオンになっていると、get コマンドを実行するのと似ています。必ずチェックを外してください。次回 ISE を起動すると、より高速になるはずです。

答え4

@JD Mallen が述べたように、私の場合、自動保存情報は、次のフォルダーの XML ファイルに保存されていました。

AppData\
Local\
Microsoft_Corporation\
powershell_ise.exe_StrongName_lw2v2vm3wmtzzpebq33gybmeoxukb04w\
3.0.0.0\
AutoSaveInformation

XML ファイルを削除したら、問題はなくなりました。

関連情報