Desativa o "modo de isolamento" no Agendador de Tarefas do Vista?

2

No Windows Vista (e eu suponho que o Windows 7) a Microsoft melhorou a segurança dos processos que são executados através do Agendador de Tarefas, ou seja, link :

In the Windows Vista Task Scheduler, security is vastly improved. Task Scheduler supports a security isolation model in which each set of tasks running in a specific security context starts in a separate session. Tasks executed for different users are launched in separate window sessions, in complete isolation from one other and from tasks running in the machine (system) context.

O problema é que eu tenho um script que precisa ser executado em um intervalo definido e carrego um arquivo via SCP para um servidor web Linux, para fazer isso eu estou usando Pageant para armazenar a chave SSH que o script pode buscar. Tudo isso funciona bem no Windows XP, mas por causa do modo de isolamento no Windows Vista, o script não tem permissão para falar com o processo do Pageant e a transferência do SCP falha.

Existe uma opção no utilitário de configuração do Agendador de Tarefas, onde você pode escolher "Configurar para Windows Server 2003, Windows XP ou Windows 2000" , pelo menos a tarefa é executada interativamente, o que também quer, mas o modo de isolamento ainda parece estar ativado.

Pergunta: Existe alguma maneira de desativar o novo "modo de isolamento" no Agendador de Tarefas do Windows Vista para que ele se comporte como o Windows XP, permitindo a comunicação entre processos?

Atualização: Não sei se isso é algo que deve ser afetado pelo "Sessão 0 Isolation" , mas no documento dessa página menciona o seguinte:

A service tries to use window message functions such as SendMessage and PostMessage to communicate with an application. This does not work because the application is running in a different session and therefore has a different message queue. The messages never arrive at their destination. The same is true for applications that try to communicate with services through window messages.

Qual Pageant faz ... Mas este também deve ser o caso quando o "Configure for Windows XP" está habilitado?

    
por Joakim 29.09.2009 / 12:18

2 respostas

1

Este problema acabou por ser devido ao modo de isolamento que eu descrevo presente no Vista / Win7. A maneira como o Pageant funciona ao conversar com aplicativos clientes é enviar e receber mensagens simples do Windows. Este método não funciona quando o processo i isolado, uma vez que os programas estão sendo executados em sessões diferentes com loops de mensagens diferentes.

Acabei resolvendo isso reescrevendo o concurso e os aplicativos clientes na suíte putty para usar pipes nomeados. Eu enviei um patch para o putty devs, mas quando escrevi isso, ele não foi mesclado no tronco. Obrigado open source! :)

    
por 18.10.2009 / 23:10
0

Como você disse que ele funciona corretamente quando executado manualmente, verifique de onde você está executando o script, a pasta "Start In (opcional)".

Não sei se está relacionado, mas nossos scripts nunca são executados corretamente, mesmo com todos os Privilégios de administração, se isso não for especificado (tentando executar o script de C: \ Windows \ system32, que é altamente protegido , Eu acredito).

Veja se isso faz alguma diferença.

    
por 29.09.2009 / 18:19