tiempo - ejecutar un programa con powershell
¿Cómo ejecutar un script de PowerShell automáticamente usando el programador de tareas de Windows? (6)
Aquí hay un ejemplo que usa PowerShell 3.0 o 4.0 para -RepeatIndefinitely
and up:
# Trigger
$middayTrigger = New-JobTrigger -Daily -At "12:40 AM"
$midNightTrigger = New-JobTrigger -Daily -At "12:00 PM"
$atStartupeveryFiveMinutesTrigger = New-JobTrigger -once -At $(get-date) -RepetitionInterval $([timespan]::FromMinutes("1")) -RepeatIndefinitely
# Options
$option1 = New-ScheduledJobOption –StartIfIdle
$scriptPath1 = ''C:/Path and file name 1.PS1''
$scriptPath2 = "C:/Path and file name 2.PS1"
Register-ScheduledJob -Name ResetProdCache -FilePath $scriptPath1 -Trigger $middayTrigger,$midNightTrigger -ScheduledJobOption $option1
Register-ScheduledJob -Name TestProdPing -FilePath $scriptPath2 -Trigger $atStartupeveryFiveMinutesTrigger
Tengo un script de PowerShell que envía correos electrónicos. Quiero ejecutar esa secuencia de comandos automáticamente, cada 1 minuto. ¿Cómo puedo hacerlo, usando el programador de tareas?
Actualmente he creado una tarea y proporcioné la ruta de mi script. Pero ese programador abre mi script, en lugar de ejecutarlo.
Cree la tarea programada y establezca la acción en:
Programa / Script: Powershell.exe
Argumentos: -File "C: / Users / MyUser / Documents / ThisisMyFile.ps1"
Después de varias horas de prueba e investigación a través de Internet, finalmente encontré cómo iniciar mi script PS con el programador de tareas, gracias al siguiente video: https://www.youtube.com/watch?v=oJ4nktysxnE
Programa / Secuencia de comandos -> poner la ruta completa a través de powershell.exe
C:/WINDOWS/system32/WindowsPowerShell/v1.0/powershell.exe
Agregar argumentos -> Ruta completa a la secuencia de comandos y la secuencia de comandos, sin ningún ""
Comience en (opcional) -> El directorio donde reside su script, sin ningún ""
En lugar de utilizar únicamente la ruta de su secuencia de comandos en el planificador de tareas, debe iniciar Powershell con su secuencia de comandos en el planificador de tareas, por ejemplo
C:/WINDOWS/system32/WindowsPowerShell/v1.0/powershell.exe -NoLogo -NonInteractive -File "C:/Path/To/Your/PS1File.ps1"
Ver powershell /?
para una explicación de esos interruptores.
Si sigues teniendo problemas, deberías leer esta pregunta
En mi caso, mi script tiene parámetros, así que configuro:
Argumentos: -Command "& c: / scripts / myscript.ps1 myParam1 myParam2"
Puede usar el cmdlet Unblock-File para desbloquear la ejecución de este script específico. Esto le impide hacer cambios permanentes en la política que no desee debido a problemas de seguridad.
Unblock-File path_to_your_script