Cómo ejecutar automáticamente scripts de PowerShell en Windows 10
PowerShell tiene muchas capas diferentes de seguridad que evitan la ejecución de scripts y comandos maliciosos. Por ejemplo, de forma predeterminada no puede ejecutar un script que haya descargado de Internet a menos que cambie la política de ejecución de PowerShell. Otra medida de seguridad le impide ejecutar un script haciendo doble clic en él. No puede asociar scripts de PS1 con PowerShell y la única forma de ejecutar un script es hacer clic derecho y seleccionar la opción ejecutar. Al hacer doble clic en él, se abrirá en el Bloc de notas. Esto es excelente como medida de seguridad, pero es molesto si desea que se ejecute un script de PowerShell cuando se ejecuta una tarea programada. La solución es sencilla. Puede utilizar un script por lotes para ejecutar automáticamente scripts de PowerShell.
Guión por lotes
El siguiente es el script por lotes que necesita para ejecutar automáticamente scripts de PowerShell en Windows 10. Cada script de PowerShell necesitará su propio script por lotes.
Sintaxis
@ECHO OFF
PowerShell.exe -Command "Path to script"
PAUSEReemplace "Ruta al script" con la ruta real al script de PowerShell que desea ejecutar. Considere el siguiente ejemplo;
Ejemplo
@ECHO OFF
PowerShell.exe -Command "C:\Reminder-Scripts\Milk\Buy-Milk.ps1"
PAUSE
Abra el Bloc de notas y pegue el script en él. Guarde el archivo con la extensión .bat.
Lo que hace este archivo por lotes es abrir PowerShell y luego ejecutar el script al que le ha indicado. Aún no puede hacer doble clic en un script de PowerShell en su escritorio y ejecutarlo automáticamente en PowerShell. El archivo actual abrirá una ventana del símbolo del sistema y mostrará el mensaje "Presione cualquier tecla para continuar". Cuando presione una tecla, solo entonces se ejecutará el script de PowerShell. Si prefiere que el script se ejecute sin tener que intervenir, edite el script anterior y elimine la línea "PAUSA". Debe tener un aspecto como este;
@ECHO OFF
PowerShell.exe -Command "Path to script"Programador de tareas y scripts de PowerShell
Suponemos que desea ejecutar automáticamente un script de PowerShell como acción para una tarea programada. Para lograr esto, primero debe crear un script por lotes correspondiente, como se muestra arriba, para ejecutar el script de PowerShell. A continuación, cuando cree una tarea programada, seleccione el script por lotes en la Acción que debe realizar en respuesta a un desencadenante. De hecho, esto ejecutará el script de PowerShell.
Hemos utilizado el Programador de tareas como ejemplo aquí, pero si está utilizando cualquier otra aplicación de automatización, aún deberá llamar al script por lotes. La única excepción es si la aplicación de automatización que está utilizando puede abrir PowerShell y luego apuntar al script de PowerShell.
