Ejecutar PowerShell Script desde el Programador de tareas

Echemos un vistazo a los conceptos básicos de la creación de un trabajo programado en el Programador de tareas de Windows para ejecutar el script de PowerShell. Por ejemplo, tenemos TestPSScript.ps1 Script que se necesita para ejecutar diariamente. Hay dos formas de resolver esta situación.

Crear la tarea del programador de la GUI

Abierto Programador de tareas complemento (se puede encontrar en las Herramientas administrativas, o presionando Win + R y escribiendo taskschd.msc) Y seleccione crear tarea desde el panel derecho.

planificador de tareas crear tarea

Ahora especifique el nombre y la descripción de la tarea en la General lengüeta. Si es necesario, especifique el usuario en cuyo nombre se ejecutará la tarea. Para que la tarea se realice independientemente de si el usuario ha iniciado sesión en el sistema, seleccione la opción «Ejecutar si el usuario está conectado o no». Cuando una tarea requiere privilegios elevados, marque la opción «MÁS ALTO ejecución con privilegios“.

crear seguridad de tareas

Ahora ve al disparadores y cree un nuevo activador (Nuevo), que ejecuta el trabajo en nuestro programa que se almacenará. Especifique la fecha y hora de inicio en el Comenzar campo y en Caducar campo La fecha y hora en que se terminó el trabajo. Especifique para realizar una tarea diaria y establezca el tiempo de repetición (Repita todos los) 1 Day.

tarea nuevo disparador

Luego ve a Acción y especifique una acción para una tarea programada. Le recordamos que, por motivos de seguridad, el script de PowerShell solo se puede ejecutar de forma interactiva, por lo que al principio debe ejecutar PowerShell procesar y especificar la ruta de acceso al script en él. Por lo tanto, en el Acción especificar para comenzar powershell.exe, y en el campo Agregar argumentos -Expediente Opción y el camino a nuestro script, como este:

-File ″ C: PSTestPSScript.ps1 ″

Puede especificar argumentos adicionales:

  • -Mando – Ejecuta el comando y cualquier parámetro de paso, por ejemplo:
    -Comandante ″ & {C: PSTestPSScript.ps1 –param1 1 –param2 22} ″
  • -No interactivo – Deshabilitar esta consola interactiva para el usuario.
  • -Estilo de la ventana oculto – ejecuta la ventana de PowerShell en modo oculto, invisible para el usuario
  • -Sin perfil – Evita la carga del perfil de usuario, lo que puede acelerar ligeramente la ejecución del script
  • -Sin salida – Deje el shell abierto después de la ejecución del script. Esto puede ser útil al probar y depurar
  • -Política de ejecución – Establece la política de ejecución del script para la sesión actual, se puede establecer en Sin restricciones, RemoteSigned, AllSigned o Restricted. La política especificada será efectiva solo en la sesión actual y tendrá prioridad sobre cualquier política establecida previamente.

notas. Por lo general, es suficiente establecer el valor RemoteSigned para los scripts normales. Esta política le permite ejecutar scripts preparados en la computadora local sin limitación. Los scripts descargados de Internet se inician solo si están firmados por la firma digital. Puede cambiar la política actual con la ayuda de Set-ExecutionPolicy, por ejemplo:

Set-ExecutionPolicy RemoteSigned –force

secuencia de tareas nueva acción

Rellene los campos necesarios, haga clic en Aceptar y guarde la tarea. Ahora, el script se iniciará en un horario diario a la hora especificada.

Cree un trabajo programado utilizando PowerShell 3.0 y superior

En PowerShell 3.0 en Windows 8 y Windows Server 2012 y superior, un nuevo funcional Trabajo programado aparece Ofrece la posibilidad de crear tareas programadas desde la consola de comandos de PowerShell sin usar el complemento Programador de tareas.

Al principio, crea un horario para correr:

$ t_trigger = New-JobTrigger -Daily -At 12: 00PM

Luego guarda la credencial a la variable:

$ cred_saved = Get-Credential corpobama

Especifique el trabajo para ejecutar con privilegios elevados:

$ elevated_job = New-ScheduledJobOption -RunElevated

Y registra la tarea con nombre Inicio:

Register-ScheduledJob -Name Start -FilePath C: PSTestPSScript.ps1 -Trigger $ t_trigger -Credential $ cred_saved -ScheduledJobOption $ elevated_job

Trabajo programado de PowerShell Script

Para asegurarse de que se crea el trabajo, debe abrir el Sheduler de tareas y encontrar la tarea en MicrosoftWindowsPowerShellSheduledJobs que fue creado anteriormente

trabajos del programador de tareas

Tip. Para cada tarea programada, en el directorio. % systemdrive% Users% username% AppDataLocalMicrosoftWindowsPowerShellScheduledJobs PowerShell crea una carpeta con el mismo nombre. Esta carpeta contiene un archivo XML con la configuración de tareas y la salida de la carpeta, que almacena el historial de trabajos en los archivos Result.xml y Status.xml. Estos archivos pueden ser útiles para la depuración y el diagnóstico si la tarea no funciona correctamente.

Updated: November 16, 2018 — 2:40 pm

Leave a Reply

Your email address will not be published. Required fields are marked *

techtoe.site © 2018 Frontier Theme