/
/

Cómo añadir «Ejecutar archivo PS1» al menú contextual en Windows 10

por Team Ninja
How to Add “Run PS1 File” to the Context Menu in Windows 10 blog banner image

Resumen instantáneo

Este post ofrece una lista completa de comandos CMD básicos y una inmersión profunda en los comandos de Windows, con más de 70 comandos cmd esenciales tanto para principiantes como para usuarios avanzados. Explica comandos prácticos del símbolo del sistema para la gestión de archivos, la navegación por directorios, la solución de problemas de red, las operaciones de disco y la automatización con ejemplos reales para mejorar la productividad. Tanto si estás aprendiendo los comandos básicos de cmd como si ya dominas las herramientas avanzadas de la CLI de Windows, esta guía te ayudará a utilizar el Símbolo del sistema de forma más eficaz.

Muchos profesionales de TI usan los archivos PS1 de Windows para automatizar tareas, configurar sistemas o gestionar flujos de trabajo en Windows 10. Sin embargo, ejecutarlos obliga a pasar por el engorroso proceso de abrir PowerShell manualmente. Una buena forma de simplificarlo es añadir la opción «Ejecutar archivo PS1» al menú contextual, para que puedas lanzar scripts directamente desde el Explorador de archivos y ahorrar tiempo.

Este ajuste te permite realizar tareas de mantenimiento del sistema, automatizaciones masivas o resolver incidencias urgentes con mucha más agilidad. Por ejemplo, los especialistas en ciberseguridad pueden desplegar parches de seguridad en segundos, y los administradores de sistemas pueden automatizar la recuperación de unidades cifradas. En esta guía paso a paso te mostramos una manera más rápida e intuitiva de usar esta herramienta.

Cómo añadir «Ejecutar archivo PS1» al menú contextual

Añadir la opción «Ejecutar archivo PS1» al menú contextual de Windows te da acceso a tus scripts de PowerShell en segundos. Tienes dos formas de conseguirlo:

Método 1: con el Editor del Registro (método manual)

  1. Abre el cuadro de diálogo Ejecutar (Win + R) y escribe regedit para abrir el Editor del Registro.
  2. Ve a: HKEY_CLASSES_ROOT\Microsoft.PowerShellScript.1\Shell.
  3. Haz clic derecho en la carpeta Shell y selecciona Nuevo y, a continuación, Clave.
  4. Asigna a la nueva clave el nombre Run with PowerShell.
  5. Crea una subclave command dentro de ella.
  6. Define el valor de la subclave como:

«C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -ExecutionPolicy Bypass -File «%1»

    1. Así se omiten las directivas de ejecución y los scripts se ejecutan sin fricciones.
  1. Cierra el Registro para aplicar los cambios.
    1. La opción Run with PowerShell aparecerá al hacer clic derecho en archivos .ps1.

Método 2: con un archivo de Registro ya preparado (método más sencillo)

  1. Abre el Bloc de notas y pega este código:
    1. Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Microsoft.PowerShellScript.1\Shell\Run with PowerShell]

"Icon"="powershell.exe"

[HKEY_CLASSES_ROOT\Microsoft.PowerShellScript.1\Shell\Run with PowerShell\command]

@="\"C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe\" -NoProfile -ExecutionPolicy Bypass -Command \"& '%1'\""

  1. Guarda el archivo como Add_Run_PS1_Context_Menu.reg.
  2. Haz doble clic en el archivo .reg guardado y confirma los cambios.
    1. La opción Run with PowerShell aparecerá al hacer clic derecho en archivos .ps1.

Cómo editar o eliminar la entrada «Ejecutar archivo PS1» del menú contextual

Si necesitas eliminar la función o retocarla, modificar el menú contextual es muy sencillo. Así se hace:

Editar el comando «Run with PowerShell»

  1. Abre el Editor del Registro (Win + R y escribe regedit) y ve a la clave que creaste antes (consulta el Método 1 anterior).
  2. Haz doble clic en el valor (Predeterminado) para editarlo:
    1. Para ejecutar scripts con una directiva de ejecución concreta, sustituye -ExecutionPolicy Bypass por -ExecutionPolicy RemoteSigned.
    2. Para ejecutar scripts como administrador, añade -Verb RunAs al comando.
  3. Cierra el Registro para aplicar los cambios de inmediato.

Eliminar la entrada del menú contextual

  1. Abre el Editor del Registro y ve a: HKEY_CLASSES_ROOT\Microsoft.PowerShellScript.1\Shell\Run with PowerShell
  2. Haz clic derecho en Run with PowerShell y selecciona Eliminar.
  3. Reinicia el Explorador de Windows desde el Administrador de tareas para aplicar los cambios.

Otras formas de ejecutar scripts de PowerShell

Aunque el menú contextual hace mucho más cómoda la ejecución de scripts, hay otros métodos que aportan flexibilidad según el flujo de trabajo. Estas son algunas alternativas para ejecutar PowerShell:

Usar PowerShell con privilegios de administrador

Este método es ideal para scripts que requieren permisos elevados. Para ello hay que abrir PowerShell con privilegios de administrador.

  1. Haz clic derecho en el menú Inicio y selecciona Windows PowerShell (Admin).
  2. En el directorio del script, ve a: cd "C:\Path\To\Script"
  3. Ejecuta el siguiente script: .\YourScript.ps1
    1. Si las directivas de ejecución bloquean el script, usa esto en su lugar: Set-ExecutionPolicy RemoteSigned -Scope Process -Force

Usar el Programador de tareas para ejecutar scripts automáticamente

Esta herramienta te ayuda a programar tareas como copias de seguridad, limpieza de registros o mantenimiento nocturno mediante scripts.

  1. Abre el Programador de tareas (busca taskschd.msc) y haz clic en Crear tarea.
  2. En la pestaña General:
    1. Asigna un nombre a la tarea.
    2. Marca Ejecutar con los privilegios más altos.
  3. En la pestaña Desencadenadores, establece una programación para la tarea.
  4. En la pestaña Acciones:
    1. Define Acción como Iniciar un programa.
    2. En Programa o script, introduce: C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
    3. En Argumentos, añade: -WindowStyle Hidden -ExecutionPolicy Bypass -File "C:\Scripts\Backup.ps1"

Crear un acceso directo en el escritorio para el script PS1

Este método va muy bien para scripts de uso frecuente, porque te da acceso rápido con un solo clic.

  1. Haz clic derecho en el escritorio, selecciona Nuevo y luego Acceso directo.
  2. Como ubicación de destino, introduce:

powershell.exe -ExecutionPolicy Bypass -Command "& 'C:\Scripts\YourScript.ps1'"

  1. Asigna un nombre al acceso directo.
  2. Para que se ejecute como administrador:
    1. Haz clic derecho en el acceso directo y selecciona Propiedades.
    2. Ve a Opciones avanzadas y marca Ejecutar como administrador.

Resolución de problemas habituales

Incluso configurando los scripts de PowerShell con cuidado, pueden surgir algunos contratiempos. Aquí tienes soluciones a los problemas más frecuentes.

Problema: el script de PowerShell no se ejecuta después de añadirlo al menú contextual

  1. Ejecuta PowerShell (Win + R y escribe powershell).
  2. Ejecuta el script: Get-ExecutionPolicy
    1. Si el script está Restricted, omite la directiva temporalmente para hacer pruebas con: powershell.exe -ExecutionPolicy Bypass -File «your_script.ps1»
  3. Comprueba que el valor command de la clave del registro (en HKEY_CLASSES_ROOT\Microsoft.PowerShellScript.1\Shell\Run with PowerShell) incluya la ruta completa a powershell.exe y el argumento -File «%1».
  4. Crea un script básico, por ejemplo Write-Output «Hello World», para descartar errores de sintaxis en el archivo original.

Problema: «La ejecución de scripts está deshabilitada en este sistema»

  1. Abre PowerShell como administrador (consulta las alternativas anteriores).
  2. Ejecuta el script: Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
    1. Esto ajusta la directiva de ejecución para permitir scripts.

Problema: la opción del menú contextual no aparece

  1. Actualiza el Explorador de Windows:
    1. Abre el Administrador de tareas (Ctrl + Mayús + Esc).
    2. Haz clic derecho en Explorador de Windows y selecciona Reiniciar.
  2. Confirma las ediciones del registro:
    1. Revisa de nuevo la ruta de la clave: HKEY_CLASSES_ROOT\Microsoft.PowerShellScript.1\Shell\Run with PowerShell.
    2. Si la ruta no existe, vuelve a aplicar el archivo .reg (consulta el Método 2).
  3. Comprueba si el antivirus o el firewall interfieren:
    1. Abre el software de seguridad.
    2. Desactiva temporalmente el bloqueo de cambios en el registro y vuelve a añadir la entrada del menú.

Buenas prácticas para gestionar scripts de PowerShell

Una mala gestión de los scripts de PowerShell puede exponer los sistemas a riesgos. Aplica estas buenas prácticas para optimizar la eficiencia y la seguridad de esta potente herramienta:

Revisa siempre los scripts antes de ejecutarlos

Un script mal escrito puede comprometer los sistemas o los datos. Puedes evitarlo así:

  • Firma el código: firma los scripts con un certificado de confianza para verificar su autenticidad, por ejemplo Set-AuthenticodeSignature -FilePath "script.ps1" -Certificate $cert.
  • Aprovecha las herramientas: las herramientas de gestión de endpoints, como NinjaOne, facilitan el despliegue de scripts y te avisan cuando se cumplen determinadas condiciones.

Usa las directivas de ejecución con criterio

Las directivas de ejecución evitan que se ejecuten scripts por accidente, pero ten en cuenta que no son una barrera de seguridad completa.

  • Usa los comandos RemoteSigned o AllSigned para bloquear scripts remotos sin firmar.
  • Limita el alcance de las directivas con -Scope CurrentUser para que los cambios afecten solo a esa cuenta.
  • Vuelve a activar las restricciones después de usarlas: Set-ExecutionPolicy Restricted -Scope Process

Organiza los scripts en una carpeta dedicada

Centraliza el almacenamiento de los scripts para reducir el desorden y simplificar tu sistema. Crea una carpeta llamada C: \Scripts y añádela a $env: Path de PowerShell. También puedes añadir la carpeta a la barra de Acceso rápido del Explorador de archivos para navegar con un solo clic.

Haz una copia de seguridad del Registro antes de modificarlo

Una edición accidental en el Registro puede desestabilizar el sistema. Crear archivos de copia de seguridad del Registro o de parte de su contenido te permite restaurar el sistema si algo se corrompe.

  • En el Editor del Registro, haz clic derecho en Run with PowerShell y selecciona Exportar.

Preguntas frecuentes sobre añadir «Ejecutar archivo PS1» al menú contextual

¿Puedo configurar PowerShell para que se ejecute siempre como administrador desde el menú contextual?

Sí, basta con modificar el comando del registro para incluir el parámetro -Verb RunAs:

  1. Edita la clave del registro command (consulta la sección 2).
  2. Actualiza el comando a:

"C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -ExecutionPolicy Bypass -Command «& ‘%1′»

¿Se pueden añadir más opciones de PowerShell al menú del clic derecho?

  • Por supuesto: puedes añadir otras entradas, como Run as Admin o Edit Script. Así se hace:
    • Duplica la clave del registro Run with PowerShell en HKEY_CLASSES_ROOT\Microsoft.PowerShellScript.1\Shell.
    • Cámbiale el nombre y actualiza el valor del comando a: "C:\Path\To\Code.exe" «%1»

¿Cómo elimino la opción «Ejecutar archivo PS1» si ya no la necesito?

¿Puedo usar este método también en Windows 11?

  • Sí. La estructura del registro y el sistema de PowerShell son idénticos en Windows 10 y 11.

¿Qué ocurre si mi script necesita que el usuario introduzca datos al ejecutarse desde el menú contextual?

  • La ventana de PowerShell puede cerrarse al instante tras la ejecución y cortar las solicitudes de entrada. Puedes solucionarlo así:
    • Añade -NoExit al comando del registro: … -File «%1» -NoExit
    • Si el script requiere interacción prolongada, ejecútalo manualmente en PowerShell o usa Start-Sleep para pausar la ejecución.

Simplifica la ejecución de archivos PS1 en Windows

Añadir la entrada «Ejecutar archivo PS1» al menú contextual de Windows 10 simplifica la ejecución de scripts para la gestión del sistema, la automatización o la recuperación de unidades cifradas. Al integrar PowerShell directamente en el Explorador de archivos, ejecutar scripts resulta mucho más fluido.

Esta función aumenta la productividad, pero acompáñala siempre de directivas de ejecución seguras y de una revisión de los scripts para evitar riesgos imprevistos. Combinar eficiencia y prudencia hace que PowerShell siga siendo una herramienta potente y segura para tu sistema.

Guía de inicio rápido

Puedes crear un script personalizado en la biblioteca de automatización de NinjaOne que:

  1. Añada una clave del registro para crear la entrada del menú contextual
  2. Especifique el comando para ejecutar PowerShell con los parámetros adecuados

Quizá también te interese…

¿Listo para simplificar los aspectos más complejos de las TI?