Cómo solucionar fallos de PowerShell
Lidiar con PowerShell que no se inicia o funciona mal puede ser frustrante. A veces se trata simplemente de un problema de permisos, otras veces se trata de algo más complejo, como archivos dañados o restricciones de políticas. Sea cual sea la causa del problema, esta guía debería ayudarte a solucionar los problemas más comunes, incluso si todo parece un poco inestable. Espera algo de magia en la línea de comandos, revisando la configuración y quizás descargando actualizaciones o reinstalando PowerShell. Al final, PowerShell debería al menos responder con normalidad, o al menos mostrar un mensaje de error más preciso.
¿Cómo solucionar que PowerShell no funcione?
Ejecute PowerShell como administrador desde la ubicación correcta
Este suele ser el primer paso, ya que muchos problemas surgen por no tener suficientes privilegios o por intentar ejecutarlo desde el lugar incorrecto. Abra el Explorador de Windows y navegue a:
%SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe
Haga clic derecho en powershell.exe y seleccione “Ejecutar como administrador”. Si esto soluciona el problema, probablemente se trate de un problema de permisos. Muchas veces, simplemente iniciarlo de esta manera puede resolver errores de acceso como “Acceso denegado”, especialmente si el problema ocurre al crear scripts o ejecutar ciertos comandos.
Nota: para sistemas de 32 bits o si está en una versión de 32 bits de Windows, reemplace system32 con syswow64 en la ruta.
En algunas configuraciones, este paso por sí solo hace que PowerShell vuelva a responder, pero a veces es solo el comienzo.
Compruebe si PowerShell está habilitado en las características de Windows
Quizás PowerShell se deshabilitó en algún momento, especialmente si se alteró la lista de funciones o si usas un sistema donde se pueden alternar roles y funciones.
Panel de control > Programas > Activar o desactivar las características de Windows
Busca Windows PowerShell y asegúrate de que la casilla esté marcada. Si no está marcada, márcala y pulsa Aceptar. Es posible que Windows te pida que reinicies después. Después, intenta iniciar PowerShell de nuevo; suele ser suficiente si simplemente estaba deshabilitado.
Solucionar restricciones de directivas de grupo o bloqueos de registro
Si ve errores como “Esta operación se ha cancelado debido a restricciones vigentes”, es posible que sus directivas de grupo o la configuración del registro estén frenando PowerShell. Compruebe lo siguiente:
- Presione Win + R, escriba
gpedit.mscy presione Enter. - Vaya a Configuración de usuario > Plantillas administrativas > Sistema.
- Busque la política denominada No ejecutar aplicaciones de Windows específicas y haga doble clic en ella.
- Si está habilitado, configúrelo en No configurado o permita explícitamente powershell.exe.
- Cierre el editor y reinicie su PC: a veces, este bloqueo de política es el culpable.
Si no puede acceder a gpedit.msc (por ejemplo, en Win 10 Home), modifique el registro directamente o use una herramienta como Winhance para restablecer las políticas.
Ajustar la política de ejecución para permitir scripts
La ejecución de scripts provoca errores si la política de ejecución es demasiado restrictiva. Para comprobarla o modificarla, ejecute PowerShell como administrador y ejecute:
Set-ExecutionPolicy RemoteSigned -Force -Scope LocalMachine
Este comando permite ejecutar scripts locales y remotos firmados, algo que muchos scripts necesitan. Tenga en cuenta que podría tener que cambiarlo por separado para PowerShell de 32 y 64 bits si ejecuta esas versiones por separado.
Si los scripts aún no se ejecutan, es posible que también desees verificar tu política actual con:
Get-ExecutionPolicy -List
A veces, las políticas se configuran de forma predeterminada o mediante políticas de grupo, así que ajústelas con precaución. Reinicie PowerShell después y compruebe si los scripts se pueden ejecutar ahora.
Reinstalar o actualizar PowerShell
Si PowerShell no se inicia o se bloquea al iniciarse, es posible que los archivos estén dañados. Puedes intentar actualizar o reinstalar:
- Descargue PowerShell desde sus lanzamientos oficiales de GitHub: elija el último instalador MSI estable para su sistema (x86 o x64).
- Ejecute el instalador y siga las instrucciones. Debería sobrescribir o reemplazar los archivos dañados.
- Si una instalación limpia no ayuda, o prefieres la CLI, puedes ejecutar un comando de instalación desde un PowerShell o un símbolo del sistema existente:
iex "& { $(irm https://aka.ms/install-powershell.ps1) } -UseMSI"
Este script automatiza muchas de las últimas configuraciones y reparaciones, pero tenga cuidado: es de Microsoft y, en general, es seguro.
Pruebe con una cuenta de usuario diferente o habilite la cuenta de administrador
A veces, un fallo específico de la cuenta provoca que PowerShell se bloquee o no se inicie. Habilite la cuenta de administrador integrada ejecutando en el Símbolo del sistema (modo administrador):
net user administrator /active:yes
O bien, abra lusrmgr.msc (Usuarios y grupos locales), haga doble clic en Administrador, desmarque la opción “Cuenta deshabilitada” e inicie sesión en esa cuenta. Pruebe PowerShell allí. Si funciona, es posible que su perfil de usuario original esté dañado o mal configurado, y deberá repararlo o migrarlo a uno nuevo.
Realizar un arranque limpio para comprobar conflictos en segundo plano
Las aplicaciones o servicios en segundo plano pueden interferir con PowerShell. Para comprobarlo, realice un arranque limpio:
- Presione Ctrl + Shift + Escpara abrir el Administrador de tareas, vaya a Inicio y desactive todos los programas no esenciales.
- Presione Win + R, escriba
msconfig, presione Enter. - Vaya a la pestaña Servicios, marque Ocultar todos los servicios de Microsoft y luego haga clic en Deshabilitar todos.
- Reinicie y pruebe PowerShell. Si funciona, vuelva a habilitar los servicios uno por uno para ver qué causa el problema.
Nota al margen: a veces los antivirus o las herramientas de respaldo de terceros se vuelven demasiado agresivos y bloquean PowerShell, por lo que esta prueba ayuda a aislar eso.
Utilice las utilidades del sistema para reparar la corrupción de archivos
Los archivos de Windows a veces se dañan, y PowerShell no es la excepción. Utilice herramientas integradas como SFC, DISM y CHKDSK para detectar y solucionar problemas de integridad del disco o del sistema:
- Abra el símbolo del sistema como administrador ( Win + Rluego escriba
cmdy presione Ctrl + Shift + Enter). - Ejecutar una comprobación de disco
chkdsk C: /f /x /ry pulsar Intro. Responder si se le pide programarla al reiniciar. - Ejecutar el Comprobador de archivos del sistema:
sfc /scannowescanea y repara archivos del sistema, incluidos los componentes de PowerShell. - Opcionalmente, ejecute DISM para reparar el almacén de componentes:
DISM /Online /Cleanup-Image /RestoreHealth.
Si las herramientas no funcionan correctamente, puede iniciar en modo seguro y ejecutar los análisis desde allí. A veces, una simple reparación de archivos soluciona el problema.
Actualizar Windows
Pueden surgir problemas de PowerShell después de las actualizaciones de Windows, especialmente si una actualización garantiza que algunos componentes estén dañados o mal configurados. Ya sabes cómo Windows a veces falla con los parches. Buscar actualizaciones manualmente puede resolver errores persistentes:
- Abra Configuración > Actualización de Windows.
- Haz clic en “Buscar actualizaciones”. Descarga e instala las actualizaciones pendientes, reinicia y vuelve a probar.
Si los problemas comenzaron justo después de una actualización, espere un parche más nuevo: Microsoft suele implementar soluciones rápidamente.
¿Cómo solucionar los módulos de PowerShell que no funcionan?
Si PowerShell se abre correctamente, pero ciertos módulos o scripts funcionan de forma incorrecta, es posible que los archivos de módulo estén dañados. Los módulos se almacenan en:
C:\Program Files\WindowsPowerShell\Modules
C:\Windows\System32\WindowsPowerShell\v1.0\Modules
Para actualizar o reparar, intente actualizar o desinstalar esos módulos. Desde un mensaje de PowerShell de administrador:
- Consulta los módulos disponibles con:
Get-Module -ListAvailable - Si identifica un módulo problemático, intente actualizarlo:
- Para desinstalar el módulo, ejecute:
Update-Module -Name ModuleName
Uninstall-Module -Name ModuleName
Si esto no soluciona el problema, podría ser necesario reinstalar el módulo. A veces, basta con eliminar la carpeta del módulo y reinstalarlo para eliminar los archivos dañados.
Resumen
- Ejecute PowerShell como administrador desde su ubicación actual.
- Asegúrese de que PowerShell no esté deshabilitado en Características de Windows o en la Política de grupo.
- Verifique la política de ejecución y modifíquela si los scripts no se ejecutan.
- Actualice o reinstale PowerShell si no funciona.
- Pruebe con una cuenta de usuario diferente o habilite la cuenta de administrador para probar problemas de perfil.
- Realice un arranque limpio para descartar conflictos en segundo plano.
- Utilice utilidades del sistema como SFC, DISM y CHKDSK para corregir daños.
- Asegúrese de que Windows esté actualizado: los parches corrigen muchos errores.
- Para problemas con los módulos, actualice o reinstale los módulos afectados.
Resumen
Los problemas con PowerShell ocurren por todo tipo de razones. A veces, se trata de un problema con los permisos; otras veces, archivos corruptos o políticas restrictivas arruinan la situación. Revisar esta lista suele ayudar a identificar la causa o, al menos, a obtener un mensaje de error más claro para solucionar el problema. A menudo, actualizar Windows o PowerShell por sí solo soluciona el problema, pero no olvides revisar las políticas si se modificaron accidentalmente. Cruzamos los dedos para que esto ayude a alguien a ahorrar un par de horas, o al menos a que PowerShell vuelva a estar en línea para que haga su trabajo.