2012-06-25 39 views
15

Tengo un problema con respecto a cómo hacer que una tarea programada se ejecute si el usuario está conectado o no. Debe hacerse en PowerShell. Lo que he hecho es:¿Cómo programar una tarea si el usuario ha iniciado sesión o no en PowerShell?

$WINDIR/system32/schtasks.exe /create /tn TaskName /sc daily /st 15:05:00 /tr "C:\cygwin\opt\IBM\tpchc\bin\tools\TheFileToRun.bat" 

Pero ¿Puedo proporcionar un argumento extra para hacer esta tarea ejecuta sin importar si el usuario está conectado o fuera?

Si no se puede hacer en Powershell, ¿es posible hacerlo en otro lenguaje de script?

THX :)

+0

Por un lado, eso no es poder, esa es la manera de línea de comandos para hacerlo - (ver el cmdlet 'Register-ScheduledTask'), para dos, este es un duplicado de: https://stackoverflow.com/questions/ 13965997/set-a-scheduled-task-to-run-when-user-isnt-logged-in – BrainSlugs83

Respuesta

18

Tendrá que especificar un usuario (como /RU system), pero debe ser el valor por defecto si se debe ejecutar conectado o no. Puede mirar this link para obtener una lista de todos los parámetros schtasks.exe.

+0

thx para la respuesta - lo intentaré y echar un vistazo al enlace :) – Diemauerdk

+3

parámetro '/ RU system' ¡trabajó! – Diemauerdk

6

si se agrega

/RU <username> /RP <password>

a la llamada a Schtasks.exe obtendrá "Ejecutar tanto si el usuario está conectado o no" seleccionado.

En su lugar, también puede utilizar/NP, que también le dará "Ejecutar si el usuario ha iniciado sesión o no", pero también "No almacenar contraseña ..." que limitará los recursos accesibles.

Cuestiones relacionadas