Windows PowerShell ISE friert beim Start jedes Mal ein. Wie kann ich das Problem diagnostizieren?

Windows PowerShell ISE friert beim Start jedes Mal ein. Wie kann ich das Problem diagnostizieren?

Jedes Mal, wenn ich PowerShell ISE (x64 oder x86) starte, erhalte ich Folgendes:

Screenshot des teilweise gerenderten ISE-Fensters

Es wird genau wie gezeigt gezeichnet und reagiert nicht mehr. Der schwarze Teil unten liegt innerhalb der Fenstergrenzen.

Die PowerShell-CLI läuft einwandfrei.

Ich sehe in der Ereignisanzeige nichts außer einem Eintrag, dass die App hängen bleibt, wenn ich versuche, sie zu schließen.

Ich habe versucht, die GlobalUserInterface.CompositeFontSchriftart als Teil von Lösung Nr. 3 unter herunterzuladen.dieses Problem, aber der Download-Link scheint defekt zu sein.

Zum Zeitpunkt dieses Beitrags stehen für mich keine Windows-Updates aus. Ich verwende Windows 10 Pro 21H2.

Bildbeschreibung hier eingeben

Wie finde ich heraus, was los ist?


BEARBEITEN (2021-01-02T03:32Z):Anscheinend dauert es einfach ewig, bis es hochfährt. Es wurde schließlich gerendert,10 Minuten später. Wenn Visual Studio 2022 in weniger als 10 Sekunden geöffnet werden kann, hat PS ISE keine Ausrede. Was zum Teufel ist hier los?

Antwort1

PowerShell ISE war beim Zugriff auf die Liste der zuletzt verwendeten Dateien langsam und die Verbindungen schlugen wiederholt fehl, als sie auf einen Netzwerkpfad zugriffen, der nicht mehr existierte. Ich habe das Problem gelöst, indem ich dieses Verzeichnis gelöscht habe:

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

Ich habe dies entdeckt, indem ich den Sysinternals Process Monitor ausgeführt, nach der PID von PowerShell_ISE gefiltert und mir angesehen habe, was zuletzt passiert ist, bevor das Rendering gestoppt wurde. Als Letztes wurden die Dateien in diesem Verzeichnis gelesen. Anschließend wurde mehrere Minuten lang nur „Thread Exit“ gemeldet.

Screenshot von Process Monitor

Ich speichere die meisten meiner Dateien auf einem NAS und habe aus irgendeinem Grund ein oder zwei Dateien in ISE über IP geöffnet, anstatt über die zugeordneten Netzwerklaufwerke. ISE versuchte, jede einzelne Datei aufzulösen, und es dauerte sehr lange, bis es zu einer Zeitüberschreitung kam.

Antwort2

In meinem Fall war es der Konsolenverlauf, der den Start der PowerShell ISE verlangsamte. Es handelte sich um eine fast 2 GB große Datei mit vielen wiederholten Befehlen. Das Löschen dieser Datei löste das Problem:

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

Ich habe es auch mithilfe des bereits erwähnten Sysinternals Process Monitors entdeckt. Dieser zeigte viele Zugriffe auf diese Datei an.

Antwort3

Was den Start der PowerShell ISE verlangsamte, war bei uns das „Show Command Add-on“. Wenn das Show Command Add-on aktiviert ist, ist es ähnlich wie das Ausführen eines Get-Befehls. Deaktivieren Sie es unbedingt, und beim nächsten Start der ISE sollte es schneller sein.

Antwort4

Wie von @JD Mallen erwähnt. In meinem Fall hatte ich eine Autosave-Information in einer XML-Datei im folgenden Ordner gespeichert:

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

Ich habe die XML-Datei gelöscht und jetzt ist alles in Ordnung.

verwandte Informationen