Corrigir a tarefa agendada não será executada para o arquivo .BAT

Se você tem um arquivo .BAT e está tentando executá-lo automaticamente usando o Agendador de Tarefas(Task Scheduler) no Windows , você pode ter encontrado o problema em que ele simplesmente não é executado, a menos que você execute a tarefa manualmente.

Eu criei um arquivo de lote que exclui tudo dentro de uma pasta temporária sempre que o computador é inicializado. Eu criei uma tarefa básica no Agendador de Tarefas(Task Scheduler) e esperei o melhor. Infelizmente, nada aconteceu quando meu computador inicializou. Depois de muita tentativa e erro, descobri como fazer o script rodar.

Neste artigo, vou orientá-lo nas configurações e permissões que você precisa ajustar para que seu arquivo em lote seja executado sem intervenção manual.

Etapa 1: verifique as permissões de File/Folder

A primeira etapa para corrigir esse problema é garantir que a conta que você está usando para executar o script no Agendador de Tarefas(Task Scheduler) tenha permissões de controle total(Full Control) na pasta que contém o script, o próprio script e quaisquer pastas/arquivos que o script toca ao ser executado.

Por exemplo, criei o seguinte script em lote abaixo:

set folder="C:\test"
cd /d %folder%
for /F "delims=" %%i in ('dir /b') do (rmdir "%%i" /s/q || del "%%i" /s/q)

Salvei o arquivo .BAT na minha pasta Documentos. O caminho é C:\Users\username\Documents . Fui para C:\Users\username, cliquei com o botão direito do mouse na pasta Documents e cliquei em Properties . Então eu cliquei na guia Segurança .(Security)

Como você pode ver, a conta de usuário Aseem foi explicitamente adicionada e recebeu a permissão Full Control. Agora você tem que fazer a mesma coisa para a pasta que contém o script e para o próprio script. Não assuma apenas que se você der permissões para a pasta que contém o script, você está pronto para ir, porque você não está. Por fim, defina permissões em todos os arquivos e pastas com os quais o script irá interagir.

No meu caso, tive que ir para C:\test , clicar com o botão direito do mouse nessa pasta e adicionar minha conta de usuário lá com permissões de controle total . (Full Control)É meio chato ter que fazer isso, mas é a única maneira de fazer o script rodar.

Observação: a conta que está sendo usada para executar o script deve fazer parte do grupo Administradores local no computador. No meu caso, a conta Aseem é uma conta de administrador e, portanto, parte do grupo Administradores local. (Note: The account that is being used to run the script has to be part of the local Administrators group on the computer. In my case, the Aseem account is an administrator account and therefore part of the local Administrators group. )

Etapa 2: verifique as configurações do Agendador de tarefas(Task Scheduler Settings)

Agora vamos para o Agendador de Tarefas(Task Scheduler) e altere as configurações apropriadas lá. Abra o Agendador de Tarefas(Task Scheduler) e encontre sua tarefa na seção Tarefas Ativas( Active Tasks) . Eles devem ser listados em ordem alfabética.

Clique duas vezes nele e ele abrirá a tarefa sozinha na mesma janela. Para editar a tarefa, você terá que clicar com o botão direito sobre ela e escolher Propriedades(Properties) .

Existem várias guias e algumas coisas precisam ser verificadas e alteradas aqui. Primeiramente, na guia Geral(General) , você precisa verificar a conta de usuário que está sendo usada para executar a tarefa. No meu caso, é a conta Aseem , à qual dei permissões anteriormente no sistema de arquivos e que faz parte do grupo Administradores(Administrators) no computador.

Em seguida, você deve escolher a opção Executar se o usuário estiver conectado ou não( Run whether user is logged on or not) e escolher Windows Vista, Windows Server 2008 na caixa Configurar para(Configure for) .

Na guia Ações(Actions) , você deve selecionar o script, clicar em Editar(Edit) e adicionar o caminho para a pasta que contém o script na caixa Iniciar em (opcional)(e Start in (optional)) . Isso pode parecer desnecessário, mas não é. No meu caso, coloquei C:\Users\Aseem\Documents\ na caixa.

Agora clique em OK para salvar as configurações. Ao fazer isso, uma caixa de diálogo pode aparecer onde você deve inserir a senha da conta de usuário que executará a tarefa. Isso traz outro requisito. Você não pode usar uma conta que não tenha uma senha. A conta de usuário precisa ter uma senha para que a tarefa seja executada.

Por fim, você deve executar a tarefa manualmente uma vez no Agendador de Tarefas(Task Scheduler) para garantir que ela seja executada. Se ele funcionar bem manualmente depois que você alterou todas as configurações, ele deve ser executado quando deveria ser acionado. No meu caso, era para acontecer na inicialização e depois que fiz as alterações, tudo funcionou bem.

Observe que, se seu script estiver acessando computadores diferentes em um domínio quando executado, você deve tentar usar a conta de administrador do domínio para executar a tarefa. Isso garantirá que a conta tenha permissões suficientes para acessar os computadores remotos.

Outro item a ser observado é se seu script acessa recursos em um compartilhamento de rede. Se o seu script estiver usando letras para acessar a rede, ele pode não ser executado. Por exemplo, em vez de usar F:\data\ , você deve usar \\machinename\share_name\data\ Â no script. Se você ainda não conseguir executar seu script, poste um comentário aqui e tentarei ajudar. Aproveitar!



About the author

Sou um especialista em computadores com mais de 10 anos de experiência e me especializei em ajudar as pessoas a gerenciar seus computadores em seus escritórios. Escrevi artigos sobre tópicos como otimizar sua conexão com a Internet, como configurar um computador para a melhor experiência de jogo e muito mais. Se você está procurando ajuda com qualquer coisa relacionada ao seu trabalho ou vida pessoal, eu sou a pessoa para você!



Related posts