Is there a way to have the server send an email notification indicating that a scheduled task has failed to run?
Thanks,
John
Windows 2003 Server: Scheduled Task Failure Notification
-
- GoldLounger
- Posts: 2631
- Joined: 26 Jan 2010, 16:31
- Location: Southern California
Windows 2003 Server: Scheduled Task Failure Notification
Regards,
John
John
-
- SilverLounger
- Posts: 2072
- Joined: 25 Jan 2010, 02:12
Re: Windows 2003 Server: Scheduled Task Failure Notification
You can't do this with native tools in Win2k3. See VB script for monitor the scheduled tasks and send Email notificat - Server Scripting for one way to do this.
Starting with Vista & Server 2008 you can do this with Task Scheduler. See Task Scheduler 2.0 for more information on the updated task scheduler.
Joe
Starting with Vista & Server 2008 you can do this with Task Scheduler. See Task Scheduler 2.0 for more information on the updated task scheduler.
Joe
Joe
-
- GoldLounger
- Posts: 2631
- Joined: 26 Jan 2010, 16:31
- Location: Southern California
Re: Windows 2003 Server: Scheduled Task Failure Notification
Joe,
The code for the 2003 Server works very nicely.
Thank you,
John
The code for the 2003 Server works very nicely.
Thank you,
John
Regards,
John
John
-
- NewLounger
- Posts: 2
- Joined: 30 Mar 2016, 15:50
Re: Windows 2003 Server: Scheduled Task Failure Notification
I'm new to vb scripting and blat.
I tried using the script in the link above but feel that it is not complete. Would somebody please paste a complete script for thsi scheduled task notification using blat please/ Or point me to the right resource so i can figure out this script.
@echo off
for /F "delims=" %%a in ('schtasks /query /v /fo:list ^| findstr /i
"Taskname Result"') do call :Sub %%a
goto :eof
:Sub
set Line=%*
set BOL=%Line:~0,4%
set MOL=%Line:~38%
if /i %BOL%==Task (
set name=%MOL%
goto :eof
)
set result=%MOL%
echo Task Name=%name%, Task Result=%result%
if not %result%==0 (
echo Task %name% failed
echo blat.exe
)
I tried using the script in the link above but feel that it is not complete. Would somebody please paste a complete script for thsi scheduled task notification using blat please/ Or point me to the right resource so i can figure out this script.
@echo off
for /F "delims=" %%a in ('schtasks /query /v /fo:list ^| findstr /i
"Taskname Result"') do call :Sub %%a
goto :eof
:Sub
set Line=%*
set BOL=%Line:~0,4%
set MOL=%Line:~38%
if /i %BOL%==Task (
set name=%MOL%
goto :eof
)
set result=%MOL%
echo Task Name=%name%, Task Result=%result%
if not %result%==0 (
echo Task %name% failed
echo blat.exe
)
-
- PlatinumLounger
- Posts: 5420
- Joined: 24 Jan 2010, 08:33
- Location: A cathedral city in England
Re: Windows 2003 Server: Scheduled Task Failure Notification
Hello avalosdyn
I'm not quite sure what you want!
I've tried your script on my WIndows 7 Pro 64-bit PC and get a large number of lines, some of which are...
Are you asking how to use BLAT? It's ages since I used any of the many versions of BLAT.
Please say a bit more about your requirements.
I'm not quite sure what you want!
I've tried your script on my WIndows 7 Pro 64-bit PC and get a large number of lines, some of which are...
Code: Select all
Task Name=\Microsoft\Windows\AppID\PolicyConverter, Task Result=1
Task \Microsoft\Windows\AppID\PolicyConverter failed
blat.exe
Task Name=\Microsoft\Windows\AppID\VerifiedPublisherCertStoreCheck, Task Result=1
Task \Microsoft\Windows\AppID\VerifiedPublisherCertStoreCheck failed
blat.exe
Task Name=\Microsoft\Windows\Application Experience\AitAgent, Task Result=0
Task Name=\Microsoft\Windows\Application Experience\Microsoft Compatibility Appraiser, Task Result=0
Task Name=\Microsoft\Windows\Application Experience\ProgramDataUpdater, Task Result=0
Task Name=\Microsoft\Windows\Autochk\Proxy, Task Result=0
Task Name=\Microsoft\Windows\Bluetooth\UninstallDeviceTask, Task Result=1
Task \Microsoft\Windows\Bluetooth\UninstallDeviceTask failed
blat.exe
Task Name=\Microsoft\Windows\CertificateServicesClient\SystemTask, Task Result=0
Please say a bit more about your requirements.
John Gray
"(or one of the team)" - how your hospital appointment letter indicates that you won't be seeing the Consultant...
"(or one of the team)" - how your hospital appointment letter indicates that you won't be seeing the Consultant...
-
- NewLounger
- Posts: 2
- Joined: 30 Mar 2016, 15:50
Re: Windows 2003 Server: Scheduled Task Failure Notification
Hey John thanks for looking into this.
After poking around a little more, i finally got blat to send email. However when I add the rest of the notification script it does not do what I expected it to. I have an old win2003 server that I cant upgrade. And I want to get notified when a task fails. After looking at some more examples of this script I tweaked it a bit. This is what I have so far:
set YourEmailAddress=to@email.com
set SMTPServer=SMTPserver
set PathToScript=c:\scripts
set FromAddress=from@email.com
for /F "delims=" %%a in ('schtasks /query /v /fo:list ^| findstr /i "Taskname Result"' do call :Sub %%a
goto :eof
:Sub
set Line=%*
set BOL=%Line:~0,4%
set MOL=%Line:~38%
if /i %BOL%==Task (
set name=%MOL%
goto :eof
)
set result=%MOL%
echo Task Name=%name%, Task Result=%result%
if not %result%==0 (
echo Task %name% failed with result %result% > %PathToScript%\taskcheckerlog.txt
blat.exe %PathToScript%\taskcheckerlog.txt -t %YourEmailAddress% -a "Warning! Failed %name% Scheduled Task on %computername%"
-s %SMTPServer% -f %FromAddress% -b "Task %name% failed with result %result% on %computername%"
)
I changed all the parameters that need to be changed (SMTP, my email, from email...) And again, if I just use the blat line of this script, that send me an email. But when I add the other portion of the script it doesn't notify me of a failed task. I have task that I failed manually to test. This is on Windows Server 2003
After poking around a little more, i finally got blat to send email. However when I add the rest of the notification script it does not do what I expected it to. I have an old win2003 server that I cant upgrade. And I want to get notified when a task fails. After looking at some more examples of this script I tweaked it a bit. This is what I have so far:
set YourEmailAddress=to@email.com
set SMTPServer=SMTPserver
set PathToScript=c:\scripts
set FromAddress=from@email.com
for /F "delims=" %%a in ('schtasks /query /v /fo:list ^| findstr /i "Taskname Result"' do call :Sub %%a
goto :eof
:Sub
set Line=%*
set BOL=%Line:~0,4%
set MOL=%Line:~38%
if /i %BOL%==Task (
set name=%MOL%
goto :eof
)
set result=%MOL%
echo Task Name=%name%, Task Result=%result%
if not %result%==0 (
echo Task %name% failed with result %result% > %PathToScript%\taskcheckerlog.txt
blat.exe %PathToScript%\taskcheckerlog.txt -t %YourEmailAddress% -a "Warning! Failed %name% Scheduled Task on %computername%"
-s %SMTPServer% -f %FromAddress% -b "Task %name% failed with result %result% on %computername%"
)
I changed all the parameters that need to be changed (SMTP, my email, from email...) And again, if I just use the blat line of this script, that send me an email. But when I add the other portion of the script it doesn't notify me of a failed task. I have task that I failed manually to test. This is on Windows Server 2003
-
- PlatinumLounger
- Posts: 5420
- Joined: 24 Jan 2010, 08:33
- Location: A cathedral city in England
Re: Windows 2003 Server: Scheduled Task Failure Notification
My only real comment would be to replace
if /i %BOL%==Task (
with
if /i "%BOL%"=="Task" (
but that wouldn't cause your problem.
Unfortunately BATch files as Scheduled Tasks are quite difficult to debug, and you will need a lot of ECHOs like
ECHO [This is where we are] >> %PathToScript%\%~n0.log
and
ECHO Errorlevel from [whatever] was %errorlevel% >> %PathToScript%\%~n0.log
at various places in the BATch file.
Is BLAT.EXE in your path or current directory?
if /i %BOL%==Task (
with
if /i "%BOL%"=="Task" (
but that wouldn't cause your problem.
Unfortunately BATch files as Scheduled Tasks are quite difficult to debug, and you will need a lot of ECHOs like
ECHO [This is where we are] >> %PathToScript%\%~n0.log
and
ECHO Errorlevel from [whatever] was %errorlevel% >> %PathToScript%\%~n0.log
at various places in the BATch file.
Is BLAT.EXE in your path or current directory?
John Gray
"(or one of the team)" - how your hospital appointment letter indicates that you won't be seeing the Consultant...
"(or one of the team)" - how your hospital appointment letter indicates that you won't be seeing the Consultant...