Por que o Agendador de Tarefas do Windows 2008 não executa meu arquivo em lotes?

1

Eu era um ás com o Windows 2003 Scheduled Tasks. Tudo acabou de funcionar. Isso não parece ser o caso com o Agendador de Tarefas 2008. Eu preciso executar um arquivo em lotes que chama osql.exe e, em seguida, copia um arquivo recém-criado para um compartilhamento de rede. Portanto, a tarefa precisa ter a senha armazenada para poder acessar recursos remotos. Então deixo salvar a senha. Também entrei na política de segurança local e adicionei o usuário à permissão "tarefa requer que a conta do usuário tenha feito logon como tarefa em lote". Se eu fizer:

runas / user: mydomain \ myser cmd

em seguida, execute o arquivo em lote, ele funciona sempre. Se eu tentar executá-lo a partir da GUI, ele não será executado, mesmo que esteja escrito "Em execução" na coluna Status. A conta de usuário que eu uso é um usuário de domínio e nada mais. Para a guia Ações, tenho o programa iniciando no diretório em que o arquivo em lote existe.

Alguma ideia? Alguém mais luta com isso?

    
por jftuga 13.07.2010 / 21:15

4 respostas

2

Tente passar para o servidor como usuário e executar o arquivo em lote. Você provavelmente verá o erro.

Eu tive um problema semelhante com o arquivo de lote sendo executado normalmente, mas não com o 08 R2 Task Scheduler. Ele seria executado se "Executar somente quando o usuário efetuou login", mas não quando "Executar se o usuário está conectado ou não".

Descobriu-se que algo estava tentando acessar unidades por letra de unidade. Eu não tenho certeza se isso foi programado diretamente ou 08 estava tentando ser inteligente e converter o caminho UNC para uma unidade mapeada. Meu arquivo ini para o programa só tinha caminhos UNC. Obviamente, letras de unidade não são mapeadas quando o usuário não está logado ..

Acabei tendo que mapear a unidade no arquivo em lote com credenciais (ela não passa). Então funcionou.

Isso pode ou não ser um problema semelhante para você.

    
por 03.11.2010 / 02:48
1

Certifique-se de que o usuário que está executando as tarefas tenha premissions no arquivo em lote e em qualquer compartilhamento de rede. Em seguida, selecione "Executar se o usuário está conectado ou não" e marque a caixa de seleção "Executar com privilégios mais altos" na guia Geral.

    
por 01.06.2011 / 18:32
0

Iniciar - Ferramentas Administrativas - Política de segurança local - Políticas locais - Opções de segurança - "Acesso à rede: não permitir armazenamento de senhas e credenciais para autenticação de rede" - desativado por padrão, alterne para ativado.

    
por 25.10.2010 / 21:04
0

Crie um arquivo .bat no diretório do seu exe. Na primeira linha mude para o diretório do seu exe. Na segunda linha, chame seu exe assim:

pushd "% ~ dp0"

YourExe.exe

No agendador de tarefas, não chame seu exe, mas chame seu arquivo bat

    
por 12.03.2013 / 16:28