Windows PowerShell ISE se congela cada vez que se inicia: ¿cómo puedo diagnosticar?

Windows PowerShell ISE se congela cada vez que se inicia: ¿cómo puedo diagnosticar?

Cada vez que inicio PowerShell ISE (x64 o x86), aparece esto:

captura de pantalla de la ventana ISE parcialmente renderizada

Está dibujado exactamente como se muestra y deja de responder inmediatamente. La parte negra en la parte inferior está dentro de los límites de la ventana.

PowerShell CLI funciona bien.

No veo nada en el Visor de eventos aparte de un registro de la aplicación que se bloquea cuando intento cerrarla.

Intenté descargar la GlobalUserInterface.CompositeFontfuente como parte de la Solución n.° 3 eneste problema, pero el enlace de descarga parece estar roto.

No tengo actualizaciones de Windows pendientes a partir de esta publicación. Estoy ejecutando Windows 10 Pro 21H2.

ingrese la descripción de la imagen aquí

¿Cómo puedo saber qué está pasando?


EDITAR (2021-01-02T03:32Z):Aparentemente está tardando una eternidad en iniciarse. Finalmente se rindió,10 minutos despues. Si Visual Studio 2022 puede abrirse en menos de 10 segundos, PS ISE no tiene excusa. ¿Qué diablos está pasando?

Respuesta1

PowerShell ISE tardaba en intentar acceder a la lista de archivos recientes y las conexiones fallaban repetidamente para acceder a una ruta de red que ya no existía. Lo resolví eliminando este directorio:

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

Descubrí esto ejecutando Sysinternals Process Monitor, filtrando por el PID de PowerShell_ISE y observando lo último que sucedió antes de que se detuviera el renderizado. Lo último que hizo fue leer los archivos de ese directorio. Luego simplemente informó "Salida del hilo" durante varios minutos.

captura de pantalla del monitor de procesos

Almaceno la mayoría de mis archivos en un NAS y, por alguna razón, abrí uno o dos archivos en ISE por IP, en lugar de a través de las unidades de red asignadas. ISE estaba intentando resolver cada uno de los archivos y tardaba mucho en expirar.

Respuesta2

En mi caso lo que estaba frenando el lanzamiento de PowerShell ISE fue el historial de la consola. Era un archivo de casi 2 Gb con muchos comandos repetidos. Eliminar este archivo resolvió el problema:

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

También lo descubrí usando Sysinternals Process Monitor mencionado anteriormente. Mostró muchos accesos a este archivo.

Respuesta3

Para nosotros, lo que estaba ralentizando el lanzamiento de PowerShell ISE fue el "Complemento Mostrar comando". Cuando el complemento Mostrar comando está... activado, es similar a ejecutar un comando get. Asegúrese de desmarcarlo y la próxima vez que inicie ISE, debería ser más rápido

Respuesta4

Como lo menciona @JD Mallen. En mi caso tenía información de autoguardado almacenada en un archivo XML en la siguiente carpeta:

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

Eliminé el archivo XML y ahora está bien.

información relacionada