Tarefas agendadas - como eu faço para logar um usuário?

1

Eu defini uma nova tarefa agendada para iniciar "quando meu computador for iniciado". Eu atribuí um usuário Administrador para executar a tarefa. Este é um executável que deve ser executado indefinidamente em segundo plano.

O problema é que, se o Administrador efetuar login e efetuar logoff, a tarefa será interrompida.

Existe uma solução para isso?

UPDATE: isso foi causado porque a tarefa em execução estava em java. Veja minha própria solução.

    
por Ovesh 18.02.2010 / 08:06

2 respostas

1

Isso aconteceu porque a tarefa em execução era um aplicativo java. Java intercepta eventos de logoff do usuário e para a execução. Isso é resolvido incluindo -Xrs na linha de comando que executa o aplicativo, fazendo com que a JVM ignore o evento de logoff.

    
por 18.02.2010 / 11:06
0

O que o programa faz e que nível de acesso ele usa? Talvez seja melhor executar a tarefa em uma das contas de usuário do Serviço (LocalService, NetworkService ou LocalSystem). Isso fará com que a tarefa seja executada em uma conta do sistema que não interaja com a área de trabalho e não carregue o perfil de um usuário comum. Isso também significa que ele não será afetado pelos usuários que fizerem logon e logoff, já que essas contas estão sempre "conectadas". Apenas tenha cuidado: a conta LocalSystem, em particular, tem essencialmente acesso completo ao sistema, o que significa que se qualquer tarefa estiver sendo executada de alguma forma se tornar acessível a um usuário, ela poderá ter acesso total ao sistema.

    
por 18.02.2010 / 08:12