none
Ejecutar un programa al iniciar sesión usando el Programador de Tareas RRS feed

  • Pregunta

  • Buenas tardes :)

    Necesito lanzar un programa de manera automática al inicio de la sesión de todos los usuarios de mi equipo. La verdad es que me he estado pegando horas con la herramienta, y no se que estoy haciendo mal. Me creado una tarea (una normal, no una básica), en la que:

     - En los datos generales indico que la tarea se ejecute con una cuenta que tiene permisos de administrador, con los permisos más elevados, y que se ejecute aunque el usuario no esté logueado (entiendo que se refiere al usuario que esta creando la tarea). Y está configurado para Windows 10.

     - En los desencadenadores, al iniciar la sesión de CUALQUIER USUARIO

     - La acción es ejecutar una aplicación en particular (que necesita permisos de administrador, por eso lo de ejecutar la tarea con los permisos mas elevados).

     - No he cambiado nada ni en 'Condiciones' ni en 'Configuración'

    El caso es que si pruebo a ejecutar manualmente la tarea, se completa sin problemas, pero no se está desencadenando. No veo que se ejecute al hacer login, y si miro la fecha de la última ejecución, no se ve que haya cambiado desde la última vez (cuando la lancé manualmente)

    Les dejo el XML de la exportación:

    <?xml version="1.0" encoding="UTF-16"?>
    <Task version="1.4" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
      <RegistrationInfo>
        <Date>2017-09-28T16:01:20.4820807</Date>
        <Author>ENTRENADORES-PC\AdminRCNGC</Author>
        <Description>Scans for hardware changes on every user login</Description>
        <URI>\Scan Hardware Changes on Login</URI>
      </RegistrationInfo>
      <Triggers>
        <LogonTrigger>
          <StartBoundary>2017-09-28T15:00:00</StartBoundary>
          <Enabled>true</Enabled>
        </LogonTrigger>
      </Triggers>
      <Principals>
        <Principal id="Author">
          <UserId>S-1-5-21-2517228559-3667827726-2644606858-1001</UserId>
          <LogonType>Password</LogonType>
          <RunLevel>HighestAvailable</RunLevel>
        </Principal>
      </Principals>
      <Settings>
        <MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy>
        <DisallowStartIfOnBatteries>false</DisallowStartIfOnBatteries>
        <StopIfGoingOnBatteries>true</StopIfGoingOnBatteries>
        <AllowHardTerminate>true</AllowHardTerminate>
        <StartWhenAvailable>false</StartWhenAvailable>
        <RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable>
        <IdleSettings>
          <StopOnIdleEnd>true</StopOnIdleEnd>
          <RestartOnIdle>false</RestartOnIdle>
        </IdleSettings>
        <AllowStartOnDemand>true</AllowStartOnDemand>
        <Enabled>true</Enabled>
        <Hidden>false</Hidden>
        <RunOnlyIfIdle>false</RunOnlyIfIdle>
        <DisallowStartOnRemoteAppSession>false</DisallowStartOnRemoteAppSession>
        <UseUnifiedSchedulingEngine>true</UseUnifiedSchedulingEngine>
        <WakeToRun>false</WakeToRun>
        <ExecutionTimeLimit>PT72H</ExecutionTimeLimit>
        <Priority>7</Priority>
      </Settings>
      <Actions Context="Author">
        <Exec>
          <Command>"C:\Program Files (x86)\Windows Kits\10\Tools\x64\devcon.exe"</Command>
          <Arguments>/rescan</Arguments>
        </Exec>
      </Actions>
    </Task>

    Me he estado pegando horas haciendo pruebas, y no se que esta mal. ¿Me podrían orientar?

    Gracias!

    NOTA: El <StartBoundary>, o sea la fecha de inicio, la puse por probar si era necesaria (la fecha es anterior a las pruebas), pero sin indicar fecha de inicio tambien falla


    • Editado FJ Gomez jueves, 28 de septiembre de 2017 16:37
    jueves, 28 de septiembre de 2017 16:28

Respuestas

  • Dentro del runas puedes configurar la contraseña que quieres que use en referencia al usuario que pongas. Asi ejecutarias ese bat con propiedades de administrador y sin pedirte nada mas ya que todo esta dentro de los modificadores del runas
    lunes, 9 de octubre de 2017 16:14

Todas las respuestas

  • Se me ocurre que mejor que crear una tarea programada al inicio de sesion metas el programa en el Inicio de Windows.

    Consulta esta web, que es la que use yo cuando quise poner programas que se arrancaran al inicio de sesion de un usuario:

    https://www.luisllamas.es/encuentra-donde-esta-la-carpeta-del-menu-inicio-windows-10/

    Espero que te sea de ayuda!!!!!

    jueves, 28 de septiembre de 2017 16:57
  • El problema es que el comando que he de ejecutar necesita de privilegios de administrador (he de ejecutarlo como administrador), y si simplemente lo añado a la carpeta de inicio va a pedir usuario/contraseña en cada inicio. Más allá de que pudiera resultar una molestia, está el que no todos los usuarios tienen permisos de administrador, por lo que tu propuesta no me resulta válida... :(

    Muchas gracias, en cualquier caso, por tu propuesta, que de no ser por el rollo de las credenciales elevadas, me habría sido treméndamente útil :)

    lunes, 2 de octubre de 2017 10:40
  • Tambien puedes realizar un bat que llame a dicho programa que quieres arrancar al inicio y poner dentro del bat que se ejecute con un runas para que lo haga con privilegios de administrador.

    Despues poner el bat al inicio y como el bat va a iniciar el programa que tu le indiques con privilegios de administrador gracias al comando runas te podria valer.

    lunes, 2 de octubre de 2017 11:33
  • Lo probare... pero... ¿no se le pedirá al usuario que ponga la clave de administrador en el momento en que el .bat ejecuta el 'runas'?
    martes, 3 de octubre de 2017 16:39
  • Dentro del runas puedes configurar la contraseña que quieres que use en referencia al usuario que pongas. Asi ejecutarias ese bat con propiedades de administrador y sin pedirte nada mas ya que todo esta dentro de los modificadores del runas
    lunes, 9 de octubre de 2017 16:14