
Criei um arquivo bat que reinicia 2 serviços e executei-o no agendador de tarefas. Se eu executar o arquivo bat normalmente, posso vê-lo registrando-se no diretório atual como o arquivo bat. Mas se eu executá-lo através do agendador de tarefas, posso ver as execuções do morcego, como na janela de serviços, posso ver os serviços reiniciando, mas não registra nada... Alguém sabe qual é o problema?
Isso está no Windows Server 2008 r2 de 64 bits.
Obrigado
@echo off
SET waittimeseconds_sp_fix=15
SET logfilename_sp_fix="SPSearchFix.log"
echo %date% %time% - Restart starting >> %logfilename_sp_fix%
net stop SPTimerV4 >> %logfilename_sp_fix% 2>&1
if ERRORLEVEL 0 (
echo %date% %time% - WORKED - Stopped timer service >> %logfilename_sp_fix%
) ELSE (
echo %date% %time% - FAILED - Stopped timer service >> %logfilename_sp_fix%
exit
)
timeout %waittimeseconds_sp_fix%
net stop osearch14 >> %logfilename_sp_fix% 2>&1
if ERRORLEVEL 0 (
echo %date% %time% - WORKED - Stopped search service >> %logfilename_sp_fix%
) ELSE (
echo %date% %time% - FAILED - Stopped search service >> %logfilename_sp_fix%
exit
)
timeout %waittimeseconds_sp_fix%
net start SPTimerV4 >> %logfilename_sp_fix% 2>&1
if ERRORLEVEL 0 (
echo %date% %time% - WORKED - Started timer service >> %logfilename_sp_fix%
) ELSE (
echo %date% %time% - FAILED - Started timer service >> %logfilename_sp_fix%
exit
)
timeout %waittimeseconds_sp_fix%
net start osearch14 >> %logfilename_sp_fix% 2>&1
if ERRORLEVEL 0 (
echo %date% %time% - WORKED - Started search service >> %logfilename_sp_fix%
) ELSE (
echo %date% %time% - FAILED - Started search service >> %logfilename_sp_fix%
exit
)
timeout %waittimeseconds_sp_fix%
echo %date% %time% - Restart completed >> %logfilename_sp_fix%
echo. >> %logfilename_sp_fix%
echo. >> %logfilename_sp_fix%
echo. >> %logfilename_sp_fix%
echo. >> %logfilename_sp_fix%
echo. >> %logfilename_sp_fix%
echo. >> %logfilename_sp_fix%
Responder1
Quando você executa coisas no Agendador de Tarefas, a pasta de trabalho (por padrão) é %windri%\system32
. Portanto, quaisquer arquivos criados pela tarefa, que não tenham um caminho especificado, serão gravados lá (ou pelo menos tentarão gravá-los lá).
Para evitar isso, especifique um caminho absoluto na sua SET logfilename_sp_fix="SPSearchFix.log"
linha.
Por exemplo:SET logfilename_sp_fix="c:\temp\SPSearchFix.log
E certifique-se de que todos os usuários (ou pelo menos o usuário com o qual a tarefa é executada) tenham acesso de gravação à pasta escolhida.