Server 2008 Task Scheduler e um arquivo CMD

2

Agendador de Tarefas - Eu tenho um arquivo .cmd que estou tentando executar regularmente através do Agendador de Tarefas. Eu configurei a tarefa para que ela aponte para o arquivo cmd. Eu quero que a tarefa seja executada mesmo quando ninguém estiver logado. Configurei as credenciais associadas à tarefa para a conta de serviço local. Quando executo a tarefa, nada acontece. O resultado da última execução mostra 0x1, isso significa que não foi executado corretamente. Quando executo o arquivo a partir de um prompt de comando, ele executa bem. Qualquer ajuda lá fora seria apreciada. Eu colocaria o código, mas ele tem informações confidenciais e não posso deixar o código sair. Obrigado

    
por Mark Smith 12.08.2011 / 17:26

5 respostas

2

Não está claro se a tarefa está sendo executada como "LOCAL SYSTEM" ou se é uma conta de serviço.

Se,

  1. o usuário é uma conta de serviço local, não a conta do sistema e
  2. o usuário não está no grupo Administradores,

você precisará fazer modificações nas configurações de segurança de cmd.exe - por padrão, a ACL do NTFS permite que somente administradores e usuários conectados interativamente executem a mesma. ( referência )

Editar : Ah, e isso é aplicável apenas ao Windows 2003. Eu tenho até três suposições infundadas nessa resposta. Deixe-nos saber qual sistema operacional e nível de direitos de usuário e devemos ser capaz de reduzi-lo.

    
por 12.08.2011 / 17:46
2

Crie uma conta de usuário, defina permissões para que a tarefa possa ser executada como usuário (por exemplo, permissões de acesso à pasta), execute um prompt de comando como esse usuário (runas / user: domain \ user cmd) e tente a tarefa.

Quando isso estiver funcionando, defina a tarefa agendada para ser executada como esse usuário.

Editar : isso não funcionará até que você leve em conta a resposta de Shane Madden sobre permissões em c: \ windows \ system32 \ cmd.exe também.

    
por 12.08.2011 / 17:36
2

Eu tive um problema semelhante porque meu arquivo .cmd estava em C: \ (root). Depois de mudar para outro lugar, correu bem a partir do Agendador de Tarefas. Em alguns ambientes corporativos, há restrições no nível raiz C: \.

    
por 03.03.2014 / 17:30
1

Para XP, 2000 e Server 2003, dê uma olhada neste artigo da Microsoft "a única maneira de agendar uma tarefa, já que a conta do sistema é usar o AT.EXE para agendar a tarefa"

link

Para o Vista e 2008, isso pode ajudar link

    
por 12.08.2011 / 17:35
1

Teste um pause no seu script. Você poderá ler o problema.

No meu caso, recebi um erro access denied , pois o script começou a ser executado em \windows\system32 . Então, depois de mudar para a pasta correta ( cd ), funcionou.

    
por 22.11.2012 / 10:08