I made a bat file which restarts 2 services, and I have it run in task scheduler. If I run the bat file normally, I can see it logging in current directory as the bat file. But if I run it through task scheduler, I can see the bat runs, like in services window, I can see the services restarting, but it doesn't log anything.... Does anyone know what the issue is?
This is on windows server 2008 r2 64-bit.
Thanks
@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%
SET logfilename_sp_fix="SPSearchFix.log"
line. E.g.:SET logfilename_sp_fix="c:\temp\SPSearchFix.log"
, and ensure all users have write access to that folder.